Java设计模式(二)----工厂模式
来源:互联网 发布:jquery post get json 编辑:程序博客网 时间:2024/06/05 13:28
其实在工作中时已经无意中正在使用工厂模式来设计代码了,可能自己并没有察觉。
工厂模式可以细分为三种工厂:
1. 简单工厂模式
2.工厂模式
3.抽象工厂模式
1. 简单工厂模式
这种模式或许是使用最多的情况了,毕竟有时候业务并不是那么复杂,封装的那么多反而可读性大大降低了。简单来说,这种模式就是用一个具体的类去创建其他的类,一般来说这些其他的类是基于基类或者是同一接口的。
角色组成:
1. 工厂类角色:SimpleFactory担任,它决定去生成哪一个实例对象,一般都是if/else 或者switch 逻辑分支去支持。
2.抽象产品角色:抽象出的方法。
3.具体产品角色:工厂类所创建出的对象就是此对象。
缺陷:
当新增新的具体产品时,需要修改工厂类角色的代码,否则没法扩展。
2.工厂模式
工厂模式是简单工厂模式的进一步抽象,工厂模式内不再只由一个工厂类去决定哪一个产品被实例化,这个决定被放到抽象工厂的子类具体工厂类去做。
角色组成:
1.抽象工厂角色:这是工厂模式的核心,与应用程序无关,是具体工厂角色必须实现的接口或者必须继承的父类。
2.具体工厂角色:它含有和具体逻辑有关的代码,是具体实例对象生产的地方。
3.抽象产品角色:和上述类似。
4.具体产品角色:具体工厂角色生产出的此角色实例。
优势:
符合开闭原则,当有新的产品出现时,只需要按照抽象产品角色和抽象工厂角色提供的现有逻辑进行继承,不必修改原有代码。
缺陷:
同一等级结构中,新增新的产品。不同等级无法解决。
3.抽象工厂模式
上述可见,工厂模式针对的是一个产品等级,而抽象工厂模式是针对的一个产品族。
参考博客:
设计模式
工厂模式
阅读全文
0 0
- Java设计模式----工厂模式(二)
- Java设计模式(二)----工厂模式
- JAVA设计模式(二)工厂模式与观察者模式
- Java设计模式(二)--工厂设计模式
- java设计模式之二工厂模式
- JAVA--抽象工厂模式--设计模式二
- java设计模式(二)---工厂方法模式
- JAVA设计模式二简单工厂模式
- JAVA设计模式(二)----抽象工厂模式
- java设计模式总结二:工厂模式
- Java设计模式之二(工厂方法模式)
- java设计模式二(简单工厂模式)
- java设计模式学习笔记(二)--工厂方法模式
- java设计模式(二)--抽象工厂模式
- Java设计模式(二) 工厂方法模式
- Java设计模式(二) 工厂方法模式
- 浅谈Java设计模式(二)抽象工厂模式
- JAVA设计模式之抽象工厂模式 (二)
- 学习笔记
- 如何清除Excel2007中的网格线?
- 第十二周项目三——Dijkstra算法的验证
- nodejs express路由详解
- Git工作流指南:Gitflow工作流
- Java设计模式(二)----工厂模式
- Yii 框架增删改查
- java 判断IP地址是否为内网IP
- xlwt是Python用来写Excel文件的包。
- 进程与线程的区别
- 相关
- 冒泡排序对字符串数组排序
- 人脸检测及识别python实现系列(3)——为模型训练准备人脸数据
- 套接字选项SO_KEEPALIVE