java设计模式--工厂方法模式
来源:互联网 发布:淘宝和飞牛网价格对比 编辑:程序博客网 时间:2024/06/17 21:18
工厂方法模式(Factory Method Pattern)定义了一个创建对象的接口,通过让子类决定该创建的对象是什么,来达到将对象创建的过程封装的目的。
工厂方法结构:
public abstract class Product { public abstract void use();}产品类声明了抽象方法use(),use方法的具体实现则由Product子类负责。
public abstract class Factory { public final Product create(String owner) { Product product = createProduct(owner); registerProduct(product); return product;} protected abstract Product createProduct(String owner); protected abstract void registerProduct(Product product);}
Factory类以create方法创建实例,createProduct方法则由子类来具体实现product的创建,registerProduct完成product注册。
public class InstanceProduct extends Product { String owner; public InstanceProduct(String owner) { this.owner = owner; } public void use() { System.out.println(owner); }}
public class InstanceFactory extends Factory {private Vector mVector = new Vector();protected Product createProduct(String owner) {return new InstanceProduct(owner);}protected void registerProduct(Product product) {mVector.add(product);}}
紧耦合和松耦合:如何进行模块划分?
主模块(抽象部分)-->次模块(细节具体部分) 对模块进行分析(高层模块-->低层模块)
在软件系统中,经常面临着“某个对象”的创建工作;由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。
如何应对这种变化?如何提供一种“封装机制”来隔离出“这种易变对象”的变化,从而保持系统中
“其他依赖该对象的对象(主逻辑)”不随着需求改变而改变?
解决:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟。
- java设计模式--工厂方法设计模式
- Java工厂方法模式设计
- Java工厂方法模式设计
- java工厂方法设计模式
- java设计模式-工厂方法
- JAVA-工厂方法设计模式
- 【java】工厂方法设计模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- Java设计模式--工厂模式(简单工厂+工厂方法)
- Java设计模式-工厂模式(简单工厂+工厂方法)
- 汇编学习--基础知识
- 异常:java.lang.LinkageError: loader constraint violation: when resolving interface method
- DataTable 批量入库(转)
- 基于FS2410的wpa_supplicant移植
- 学习算法需要了解学习的相关知识
- java设计模式--工厂方法模式
- Android 常用代码---资源文件
- Sublime Text 2 快捷键用法大全
- android的定时及消息队列处理
- 智能指针是一种类,别名称为句柄类
- InnoDB: Warning: io_setup() failed with EAGAIN 解决办法
- 基于FS2410的SDIO WIFI移植
- 金币阵列问题
- 感谢csdn