为什么要用工厂模式
2007-07-27 22:51
507 查看
把对象的创建集中在一个地方(工厂方法中),这样增加新的对象类型的时候,只需要改变工厂方法;如果不用工厂方法,而是在应用中四处散布对象创建逻辑,则增加或者改变的时候需要在这些(四处)地方逐个的增加或修改.
应用的场合是新的对象类型很可能经常被添加进来.
It happens to be the creation of the type that matters in this case rather than the use of the type (which is taken care of by polymorphism), but the effect is the same: adding a new type can cause problems.
Simple Factory method: 在抽象的父类中有创建方法,该方法读入一个类型id参数,根据这个id创建出不同的对象实例返回.
Polymorphic factories: 每一个新的类型对应一个自己的工厂.这些工厂都是一个父工厂的子类,他们在父工厂的map中....
Abstract factories: 暂不考虑
应用的场合是新的对象类型很可能经常被添加进来.
It happens to be the creation of the type that matters in this case rather than the use of the type (which is taken care of by polymorphism), but the effect is the same: adding a new type can cause problems.
Simple Factory method: 在抽象的父类中有创建方法,该方法读入一个类型id参数,根据这个id创建出不同的对象实例返回.
Polymorphic factories: 每一个新的类型对应一个自己的工厂.这些工厂都是一个父工厂的子类,他们在父工厂的map中....
Abstract factories: 暂不考虑
相关文章推荐
- 为什么工厂模式是不必要的?
- 为什么要用工厂模式
- 为什么工厂模式是华而不实的—浅谈工厂模式的利与弊
- 工厂模式也可以管理实例的初始化呀,为什么一定要使用Spring呢?
- 为什么工厂模式是华而不实的—浅谈工厂模式的利与弊
- 为什么工厂模式是华而不实的——浅谈工厂模式的利与弊
- 工厂模式的作用,为什么要用工厂模式?
- 生成静态页,为什么不生成压缩静态页?
- JAVA 线程编程 ----为什么要用多线程(Why Use Multiple Thread)
- 答网友问:用SMTP模式发送,为什么还有一半发送不成功
- java 编程下 IO 中的输入流的 read() 方法返回值为什么是 int 值
- 如何选择版本控制系统 ---为什么选择Git版本控制系统
- 问题:为什么本例中c++析构函数不能正确释放内存及析构
- 为什么要使用高彩模式
- 匿名内部类使用外面的类为什么要用final型
- 在java中为什么要把main方法定义为一个static方法?
- 如何选择版本控制系统 ---为什么选择Git版本控制系统
- 为什么PowerDesigner注释不能在生成数据库过程生成
- java下Class.forName的作用是什么,为什么要使用它
- 为什么文件占用的空间会大于文件实际大小.