工厂方法和抽象工厂
来源:互联网 发布:英语听力软件哪个好 编辑:程序博客网 时间:2024/04/28 05:36
在简单工厂设计模式,以一个例子来介绍了简单工厂的应用。那为什么要工厂方法和抽象工厂呢?知道其中的原因是比较重要的。
一直在围绕面向对象的设计原则,这些原则就是面向对象设计的好处:重用性、可扩展性和可维护性。重用性是可以不加修改的应用在其它的地方,这个是相当难的,关键在于抽象;可扩展性是可以增加其它的类,其实就是在实际的应用中就是面向接口编程,实际一个接口呗;可维护性是代码容易维护。在面向对象中有一个重要的原则是“开-闭”原则,就是对内是闭的,不能修改原有的代码,对外是开的,是可扩展的。
ok,讲了前面的一通,再看看简单工厂的不足之处,水果是一个抽象的东西,下面有很多具体的实现,但是有一点,比如苹果,它就有很多的种类,烟台苹果,红富士等等,是不是有这样的考虑,单独有一个类专门生成苹果类呢?其它的水果也有一系列的品种,正是如此,应该有一个抽象的类它是生产水果的,它的子类是生成各自品种的水果。这就是工厂方法出现的原因,就是把原来的工厂类进行抽象,具体的实现延迟到子类去出现。
再看看抽象工厂,我们之前的代码都是生产一种水果,抽象工厂是生成组合的产品,并且这些组合的产品是不相交的,即是不同领域的产品。比如有A类,它有两个品种,又有B类,它也有两个品种,这样组合起来就有4种情况,所以理论上有4个工厂类。
到现在应该明白了吧,简单工厂就是生产一个产品,工厂方法就是把产品的实现延迟到子类工厂的生产,抽象工厂就是生成组合产品的。
- 工厂方法和抽象工厂
- 工厂方法和抽象工厂
- 工厂方法和抽象工厂
- 工厂方法和抽象工厂
- 简单工厂、工厂方法和抽象工厂
- 简单工厂、工厂方法和抽象工厂
- 工厂方法和抽象工厂方法
- 抽象工厂 工厂方法
- HeadFirst采访“工厂方法”和“抽象工厂”
- HeadFirst采访“工厂方法”和“抽象工厂”
- HeadFirst采访“工厂方法”和“抽象工厂”
- 设计模式:工厂方法和抽象工厂
- 工厂方法和抽象工厂区别
- 关于抽象工厂和工厂方法
- 工厂方法和抽象工厂的区别
- 工厂方法模式和抽象工厂模式
- java工厂方法和抽象工厂举例
- 工厂方法模式和抽象工厂模式
- 只能输入数据或英文 ,很笨的方法
- php将unicode编码转为utf-8方法
- 包含min函数的栈
- C基础-关键字
- Android应用自动更新功能的实现!!!
- 工厂方法和抽象工厂
- C基础-转义字符
- UVa:11462 Age Sort
- 《启示录》读书笔记系列--笔记八
- PHP图片上传程序(完整版)
- 华为读写者面试题
- Hash算法
- 初步认识和学习BASH和shell
- hive 打开调试模式