设计模式学习笔记五:抽象工厂模式
来源:互联网 发布:藏民对十一世班禅 知乎 编辑:程序博客网 时间:2024/05/01 03:06
抽象工厂模式是工厂方法模式的进一步抽象,适用于有多个产品族的场景,拿美食举例:
美食可分为中餐和西餐,中餐又有东北菜,湘菜,粤菜等。而西餐又有法式菜、美式菜、德式菜等。这种可以称之为产品族。
个人认为抽象工厂顶级类应该都是单例的。
直接上代码了,代码与上面举例业务无关:
package com.array7.abstract_factory;/** * @author array7 * */public class Run {public static void main(String[] args) {ProductFactory.getInstance().createPorductA1().create();ProductFactory.getInstance().createPorductB1().create();ProductFactory.getInstance().createPorductA2().create();ProductFactory.getInstance().createPorductB2().create();}}abstract class ProductAbstractFactory {public abstract IProductA createPorductA1();public abstract IProductA createPorductA2();public abstract IProductB createPorductB1();public abstract IProductB createPorductB2();}class ProductFactory extends ProductAbstractFactory {private static final ProductFactory facotry = new ProductFactory(); private ProductFactory() {/*closed*/}public static ProductFactory getInstance() {return facotry;}@Overridepublic IProductA createPorductA1() {return new ProductA1();}@Overridepublic IProductA createPorductA2() {return new ProductA2();}@Overridepublic IProductB createPorductB1() {return new ProductB1();}@Overridepublic IProductB createPorductB2() {return new ProductB2();}}interface IProductA {void create();}interface IProductB {void create();}class ProductA1 implements IProductA {@Overridepublic void create() {System.out.println("product A1");}}class ProductA2 implements IProductA {@Overridepublic void create() {System.out.println("product A2");}}class ProductB1 implements IProductB {@Overridepublic void create() {System.out.println("product B1");}}class ProductB2 implements IProductB {@Overridepublic void create() {System.out.println("product B2");}}
0 0
- 设计模式学习笔记五:抽象工厂模式
- 设计模式学习笔记五:抽象工厂(Abstract Factory)
- 设计模式学习笔记-抽象工厂模式
- 设计模式学习笔记--抽象工厂模式
- 设计模式学习笔记-抽象工厂模式
- 设计模式学习笔记(4)抽象工厂
- C#设计模式学习笔记-抽象工厂
- 设计模式学习笔记(五)—Abstract Factory抽象工厂模式
- 设计模式学习笔记之抽象工厂设计模式
- c++设计模式五,抽象工厂模式
- 设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式-工厂模式 抽象工厂模式 简单工厂模式学习笔记
- java 设计模式 学习笔记(3) 抽象工厂模式
- 设计模式之--抽象工厂模式(学习分析笔记)
- 设计模式学习笔记——抽象工厂模式
- java设计模式学习笔记--抽象工厂模式
- java设计模式学习笔记-抽象工厂模式
- 设计模式学习笔记——抽象工厂模式
- 税杖本势坠必拥必伟僬昭概窗姆素
- CentOS 7 VMware 网络配置详解
- Reverse Integer
- GridView如何适配不同屏幕
- 阻尼回弹效果的ScrollView嵌套GridView
- 设计模式学习笔记五:抽象工厂模式
- 高职生制专业“双师型”教师队伍发展的策略
- Leetcode NO.69 Sqrt(x)
- 设计模式学习笔记六:原型设计模式
- leedcode做题总结, 题目Longest Palindromic Substring 5
- 《从Paxos到ZooKeeper:分布式一致性理论与实践》上市了
- top.index
- linux下给普通用户增加权限
- Linkedin工程师是如何优化他们的Java代码的