一、引言 写了3篇有关设计模式的文章了,大家有了些反馈,说能从中学到一些东西,我感到很欣慰,那就继续努力。今天我要写第四个模式了,该模式叫抽象工厂。上一篇文章我们讲了【工厂方法】模式,它是为了解决【简单工厂】模式所面对的问题,它的问题就是:如果我们增加新的产品,工厂类的方法就要修改本身的代码,增加产 ...
1.简单工厂——一个工厂创建多类产品(对象) 简单工厂模式(SimpleFactory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于GOF,23种设计模式(参考资料:http://en.wikipedia.org/wiki/Design_Patterns#Pattern ...
分类:
其他好文 时间:
2019-08-27 00:35:51
阅读次数:
99
直觉地使用计算机机能理解的面向过程的方式去解决问题,会出现耦合的问题,是一种短期的方案,使得程序不容易维护与拓展。所以应该将面向对象的思想应用到程序设计当中,通过封装、继承、多态将程序的耦合度降低,运用设计模式增强程序的灵活性,使得它易于修改与复用。为了培养更好的编程思维与习惯,先从设计模式的学习与... ...
分类:
其他好文 时间:
2019-08-26 10:13:49
阅读次数:
80
前言 在前面一章博主介绍了简单工厂模式(Simple Factory),接着上面的章节,今天博主就来介绍下工厂方法模式(Factory Method)。 思考题 首先,让我们来思考下面的问题: 这时我们如果在原有的简单工厂上添加不同口味的菜,就会违背‘开放-关闭’原则,那么接下来就让我来隆重介绍工厂 ...
分类:
其他好文 时间:
2019-08-23 10:38:39
阅读次数:
82
组合模式 简单工厂模式 策略模式 装饰者模式 代理模式 工厂方法模式(工厂模式) 模板模式 建造者模式 ...
分类:
其他好文 时间:
2019-08-22 12:44:50
阅读次数:
83
简单工厂模式 简单工厂模式并不属于GoF的23种设计模式。 那么为什么我要用工厂模式呢?请看下面的一段程序。 不难看出,Fruit类是一个“巨大的”类,在该类的设计中存在如下几个问题: (1) 在Fruit类中包含很多“if…else…”代码块,整个类的代码相当冗长 ...
分类:
其他好文 时间:
2019-08-21 13:29:04
阅读次数:
75
一丶简单工厂模式 简单工厂的特点就是需要在工厂中做相应的判断来生产指定对象,对于客户端来说,去除了具体的类的依赖。只需要给出具体实例的描述给工厂,工厂就会自动返回具体的实例对象。 但是这种工厂的问题也很明显就是每次增加一个新的产品都要在代码里增加一个业务逻辑的判断,这会导致这个简单工厂类很庞大臃肿、 ...
分类:
其他好文 时间:
2019-08-19 13:04:24
阅读次数:
52
使用类构造器实例化(默认无参数) 使用静态工厂方法实例化(简单工厂模式) 使用实例工厂方法实例化(工厂方法模式) 第一种:无参构造器的方法 测试: 第二种:静态工厂的方法 测试: 第三种:实例工厂的方法 测试: ...
分类:
编程语言 时间:
2019-08-19 10:05:30
阅读次数:
79
1.什么是工厂模式 就是实现创建者与调用者分离,工厂模式的核心(灵魂)其实就是:分工。 2.工厂模式有哪些 简单工场模式(静态工厂) 简单工厂模式也叫静态工厂模式,就是工厂类一般使用静态方法,通过接受的参数的不同来创建不同的对象并返回。其缺点是对新增的业务类无能为力,必须要修改代码来完成扩展(不满足 ...
分类:
其他好文 时间:
2019-08-17 01:01:18
阅读次数:
87
简单工厂模式 简单工厂模式不是 23 种里的一种,简而言之,就是有一个专门生产某个产品的类。 比如下图中的鼠标工厂,专业生产鼠标,给参数 0,生产戴尔鼠标,给参数 1,生产惠普鼠标。 工厂模式 工厂模式也就是鼠标工厂是个父类,有生产鼠标这个接口。 戴尔鼠标工厂,惠普鼠标工厂继承它,可以分别生产戴尔鼠 ...
分类:
编程语言 时间:
2019-08-16 15:43:18
阅读次数:
113