设计模式--工厂方法模式
来源:互联网 发布:数据库水平切分 编辑:程序博客网 时间:2024/05/22 10:59
定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。
interface IProduct { public void productMethod(); } class Product implements IProduct { public void productMethod() { System.out.println("产品"); } } interface IFactory { public IProduct createProduct(); } class Factory implements IFactory { public IProduct createProduct() { return new Product(); } } public class Client { public static void main(String[] args) { IFactory factory = new Factory(); IProduct prodect = factory.createProduct(); prodect.productMethod(); } }
工厂方法模式的四个要素:
- 工厂接口。工厂接口是工厂方法模式的核心,与调用者直接交互用来提供产品。在实际编程中,有时候也会使用一个抽象类来作为与调用者交互的接口,其本质上是一样的。
- 工厂实现。在编程中,工厂实现决定如何实例化产品,是实现扩展的途径,需要有多少种产品,就需要有多少个具体的工厂实现。(可以使用prperties文件来简化)
- 产品接口。产品接口的主要目的是定义产品的规范,所有的产品实现都必须遵循产品接口定义的规范。产品接口是调用者最为关心的,产品接口定义的优劣直接决定了调用者代码的稳定性。同样,产品接口也可以用抽象类来代替,但要注意最好不要违反里氏替换原则。
- 产品实现。实现产品接口的具体类,决定了产品在客户端中的具体行为。
复杂对象适合使用工厂模式,而简单对象,特别是只需要通过new就可以完成创建的对象,无需使用工厂模式。
阅读全文
0 0
- 设计模式--工厂方法
- 工厂方法设计模式
- 设计模式-工厂方法
- 【设计模式】【工厂方法】
- 设计模式 - 工厂方法
- 工厂方法设计模式
- 工厂方法设计模式
- 【设计模式】工厂方法
- 设计模式--工厂方法
- 设计模式---工厂方法
- 设计模式-工厂方法
- 工厂方法设计模式
- 工厂方法设计模式
- 设计模式-工厂方法
- 设计模式 工厂方法
- 工厂方法设计模式
- 工厂方法设计模式
- 设计模式 - 工厂方法
- Windows下Wireshark安装版本选择方式
- BZOJ 4275: [ONTAK2015]Badania naukowe
- PHP 计算两个文件的相对路径
- GMSSL在windows下使用vs2010编译
- linux下mysql5.7.19数据库备份(全量备份、增量备份)
- 设计模式--工厂方法模式
- java 反射
- Program received signal SIGSEGV, Segmentation fault.段错误调试
- 在CentOS上基于Apache http服务搭建git远程仓库(一)
- Python的多种风格快速排序案例
- Java中equals()与hashCode()方法详解
- Caused by: java.lang.RuntimeException: Could not generate DH keypair
- Python3+Django+Mysql配置
- ORACLE数据库使用SYS用户登录出现:ORA-28009:connection as SYS should be as SYSDBA or SYSOPER报错处理办法