6.java设计模式(读书笔记)简单工厂模式、工厂方法模式、抽象工厂模式
来源:互联网 发布:js select2 默认选中 编辑:程序博客网 时间:2024/06/09 17:23
参考:
简单工厂模式和工厂方法模式:http://blog.csdn.net/jason0539/article/details/23020989
抽象工厂模式:http://blog.csdn.net/jason0539/article/details/44976775
抽象工厂模式与工厂方法模式的区别:http://blog.csdn.net/liruikqn/article/details/12888511
百度百科(感觉区分工厂方法和抽象工厂模式有点问题...)
http://baike.baidu.com/link?url=lJAWWdHY5CeRkiqfvim7Q4sWUvjOR4SlszIiotxzAfZWMDX6_FdfHdjMtRpRSLm2D54R98CkUYKcYfSSkXnBuYXqMdKcX-wlO1H1cXI8IOWTX0gNIxhbvnSNFMssaEwW
工厂模式可以分为3类:但其实简单工厂模式可以算作工厂方法模式
工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。
工厂模式可以分为3类:
1)简单工厂模式(Simple Factory)
2)工厂方法模式(Factory Method)
3)抽象工厂模式(Abstract Factory)
我的理解:
简单工厂模式:
Sample320和Sample523都实现了ISample 接口,或者继承自ISample类
public
class
Factory{
public
static
ISample creator(
int
which){
if
(which==
1
)
return
new
Sample320();
else
if
(which==
2
)
return
new
Sample523();
}
}
工厂方法模式:
简单工厂模式是把产品抽象成一个接口(320和523都是bwm)。
工厂方法模式就是在简单工厂模式的基础上把工厂也抽象一下。(总公司只建不同的厂(分别生成320.523)的实例,具体生成bwm车交给更下一级的工厂去实现)
产品类:
- abstract class BMW {
- public BMW(){
- }
- }
- public class BMW320 extends BMW {
- public BMW320() {
- System.out.println("制造-->BMW320");
- }
- }
- public class BMW523 extends BMW{
- public BMW523(){
- System.out.println("制造-->BMW523");
- }
- }
创建工厂类:
- interface FactoryBMW {
- BMW createBMW();
- }
- public class FactoryBMW320 implements FactoryBMW{
- @Override
- public BMW320 createBMW() {
- return new BMW320();
- }
- }
- public class FactoryBMW523 implements FactoryBMW {
- @Override
- public BMW523 createBMW() {
- return new BMW523();
- }
- }
- public class Customer {
- public static void main(String[] args) {
- FactoryBMW320 factoryBMW320 = new FactoryBMW320();
- BMW320 bmw320 = factoryBMW320.createBMW();
- FactoryBMW523 factoryBMW523 = new FactoryBMW523();
- BMW523 bmw523 = factoryBMW523.createBMW();
- //我的理解
- BMW bwm523 = new FactoryBMW523().createBMW();
- BMW bwm320 = new FactoryBMW320().createBMW();
- }
- }
抽象工厂模式:
每个具体工厂可以生产多种产品就是抽象工厂模式,如果只能生产一种产品就是工厂方法模式。
http://blog.csdn.net/liruikqn/article/details/12888511
- 6.java设计模式(读书笔记)简单工厂模式、工厂方法模式、抽象工厂模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- 设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
- java工厂模式-简单工厂,工厂方法,抽象工厂模式
- 设计模式 - 工厂模式(简单,工厂方法,抽象工厂)
- java设计模式之工厂方法模式以及简单工厂模式还有抽象工厂模式
- 2.工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)(设计模式笔记)
- 设计模式-工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- 设计模式理解之工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- 设计模式(简单工厂模式,工厂模式,抽象工厂模式)
- ExecutorService线程池的用法
- 复选框触发事件
- 利用CString类对字符串进行任意的操作,如字符的匹配或在字符串中间开始进行添加字符串
- SourceTree 回退到某个提交commit,删除某个提交commit
- 移植boa web服务器到Linux
- 6.java设计模式(读书笔记)简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式——观察者模式(行为型模式)
- 水文
- Oracle序列应用举例
- JAVA 连接 Hbase1.2.3查询
- Eclipse快捷键总结
- Android产品研发 -->减小Apk大小
- 最适合新手学习的http服务器——tinyhttpd
- Android Studio之Gradle学习