抽象工厂

技术抽象工厂 抽象工厂抽象工厂(Abstract Factory)
Intent
提供一个接口,用于创建相关的对象家族
Class Diagram
抽象工厂模式创建的是对象家族,也就是很多对象而不是一个

抽象工厂

抽象工厂(Abstract Factory)

Intent

提供一个接口,用于创建相关的对象家族

Class Diagram

抽象工厂模式创建的是对象家族,也就是很多对象而不是一个对象,并且这些对象是相关的,也就是说必须一起创建出来。而工厂方法模式只是用于创建一个对象,这和抽象工厂模式有很大的不同。

抽象工厂模式用到了工厂方法模式来创建单一对象抽象工厂中的createProductA()和createProductB()方法都是让子类来实现,这两个方法单独来看就是在创建一个对象,这符合工厂方法模式的定义。

而创建对象的家族这一概念体现在客户中,客户端要通过抽象工厂同时调用两个方法来创建出两个对象,在这里这两个对象就有很大的相关性,客户端需要同时创建出这两个对象。

从高层次来看,抽象工厂使用了组合,即客户组合了抽象工厂,而工厂方法模式使用了继承。

Implementation

公共类AbstractProductA {

}

公共类AbstractProductB {

}

公共类ProductA1扩展了抽象产品{ 0

}

公共类产品2扩展了抽象产品{ 0

}

公共类产品B1扩展了抽象产品B {

}

公共类产品B2扩展了抽象产品B {

}

公共抽象类抽象工厂(

抽象抽象产品a createProducA();

抽象抽象产品b createProducB();

}

公共类混凝土工厂一扩展了抽象工厂

抽象产品创建产品(){ 0

返回新的ProducT a1();

}

abstract ProducB createProducB(){ 0

返回新的ProducT B1();

}

}

公共类混凝土工厂2扩展了抽象工厂

抽象产品创建产品(){ 0

返回新的ProducT a2();

}

abstract ProducB createProducB(){ 0

返回新的ProducT B2();

}

}

公共类客户端{

公共静态void main(String[]参数){ 0

抽象工厂抽象工厂=新的具体工厂1();

抽象工厂。createProducA();

abstractProducB ProducB=抽象工厂。createProducB();

//用productA和productB做点什么

}

}

JDK

javax。XML。解析器RS。documentbuilderfactory

javax。XML。转变。变压器厂

javax.xml.xpath.XPathFactory

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/79563.html

(0)

相关推荐

  • session中的增删改方法是什么(session两种实现方式)

    技术如何进行session和v$session说明这期内容当中小编将会给大家带来有关如何进行session和v$session说明,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、前言

    攻略 2021年12月17日
  • 写春天的古诗,看到春天的美景你会吟什么古诗

    技术写春天的古诗,看到春天的美景你会吟什么古诗1 《咏柳》——贺知章(唐) 碧玉妆成一树高, 万条垂下绿丝绦写春天的古诗。 不知细叶谁裁出, 二月春风似剪刀。
    2 《送元二使安西》——王维(唐) 渭城朝雨悒轻尘,

    生活 2021年10月29日
  • linux上怎么操作mongo导出数据(脚本实现mysql数据迁移到mongo)

    技术如何实现mysql/mongo导出到本地文件这篇文章给大家分享的是有关如何实现mysql/mongo导出到本地文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一. mongo导出到本地#

    攻略 2021年12月20日
  • SpringBoot中的Bean初始化方法是什么

    技术SpringBoot中的Bean初始化方法是什么本篇内容介绍了“SpringBoot中的Bean初始化方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年11月29日
  • C/C++ Qt TreeWidget单层树形组件怎么应用

    技术C/C++ Qt TreeWidget单层树形组件怎么应用本篇内容主要讲解“C/C++ Qt TreeWidget单层树形组件怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带

    攻略 2021年11月30日
  • Web前后端分离开发的方法是什么

    技术Web前后端分离开发的方法是什么本篇内容主要讲解“Web前后端分离开发的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Web前后端分离开发的方法是什么”吧!在传

    攻略 2021年11月2日