抽象工厂

技术抽象工厂 抽象工厂抽象工厂(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)

相关推荐

  • 治疗咳嗽化痰偏方,有什么治咳嗽的小妙招吗

    技术治疗咳嗽化痰偏方,有什么治咳嗽的小妙招吗咳嗽可由多种原因所致,是呼吸系统疾病最常见的症状之一,应根据咳嗽的分类和性质选择适合自己病情需要的药物治疗,适合自己的才是最好的治疗咳嗽化痰偏方。咳嗽按持续时间分为急性咳嗽、亚

    生活 2021年11月1日
  • vuejs如何加dom

    技术vuejs如何加dom这篇文章给大家分享的是有关vuejs如何加dom的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 vuejs加dom的方法:1、先new创建

    攻略 2021年10月27日
  • javascript中prototype方法有什么用

    技术javascript中prototype方法有什么用这篇文章主要为大家展示了“javascript中prototype方法有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习

    攻略 2021年11月15日
  • 如何把mysqld压测到崩溃重启

    技术如何把mysqld压测到崩溃重启小编给大家分享一下如何把mysqld压测到崩溃重启,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、压测环境工具准备:centos7.5
    sysbench2.

    攻略 2021年10月26日
  • 589. N 叉树的前序遍历

    技术589. N 叉树的前序遍历 589. N 叉树的前序遍历给定一个 N 叉树,返回其节点值的 前序遍历 。
    N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)

    礼包 2021年12月20日
  • 省内快递费用价格表,韵达快递省内,一公斤多少钱

    技术省内快递费用价格表,韵达快递省内,一公斤多少钱【韵达快递】1、广东省内:首重8元/KG、续重2元/KG省内快递费用价格表。2、江苏、浙江、上海、北京、福建、首重10元/KG、续重4元/KG。
    3、天津、重庆、安徽、广

    生活 2021年10月25日