java设计模式笔记之简单工厂
来源:互联网 发布:9块9淘宝包邮 编辑:程序博客网 时间:2024/05/23 15:08
1.模式结构
简单工厂模式就是有一个工厂类根据传入的变量决定哪一种产品的实例。
工厂类(Creator): 负责创建实例,由客户端调用.
抽象产品(Product):需要创建的产品的共有的父类或者接口.对客户端只暴露这个接口。
具体产品(ConcreteProduct): 工厂类的创建的实际实例,可以有多个,工厂类根据参数决定创建哪一个。
2.源码
Creator:
public class Creator{ public static Product factory(String arg) { return new ConcreteProduct(); }}Product:
public interface Product{}
ConcreteProduct:
public class ConcreteProduct implements Product{public ConcreteProduct(){}}
使用(客户端)client:
public class Client{ public static Product factory(String which) throws Exception { if (which.equalsIgnoreCase("1")) { return new ConcreteProduct(); } else if (which.equalsIgnoreCase("2")) { return new ConcreteProduct2();//此类代码中没有给出 } else { throw new Exception("request"); } }}参数自定义,是返回何种对象的依据,此代码中只是个示例。
3.模式的其他结构
1.Creator可以有多个工厂方法
2.Product 根据情况可以省略,直接在工厂类的返回具体产品类型。不过这种就对客户端暴露了比较多的信息,耦合度较高
3.工厂角色和抽象产品合并,由抽象产品角色担任工厂角色,具体做法是将工厂类的方法(factory())搬移到抽象产品类中,然后去掉工厂类。
4.全部合并,在3的基础上,把方法(factory)搬移到具体产品类中
4.模式优缺点
优点:客户端免去了直接创建产品的责任。实现了对责任的分割。添加产品时,只需要修改工厂类的逻辑,客户端类不用修改,在一定限度实现了开闭原则。
缺点:当产品类有复杂的多层次结构时,工厂类的逻辑会变的复杂,当产品有不同接口时,逻辑会更加难以维护和扩展。
- java设计模式笔记之简单工厂
- Java学习笔记---设计模式之简单工厂模式
- 设计模式学习笔记(Java篇)之简单工厂模式
- 设计模式笔记之简单工厂模式
- 设计模式笔记之简单工厂模式
- JAVA设计模式之工厂模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- 【Java设计模式】之简单工厂模式
- Java--设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- java设计模式之简单工厂模式
- Java设计模式之简单工厂模式
- 无法启动Eclipe,因找不到javaw.exe
- 实用技巧(1):eclipse配色插件
- 设计模式C++学习笔记之一(Strategy策略模式)
- 一篇帖子
- FTP命令大全
- java设计模式笔记之简单工厂
- hoj 1005 fast food
- ubuntu 设置网络
- 【转载】使用异步 I/O 大大提高应用程序的性能
- Message: 系统未找到指定的资源与MSXML2.XMLHTTPClass.send错误...
- 风险回避、减轻、转移、接受,汇率风险
- 如何利用c中的指针实现两个8bit的数合并为16bit
- jni 写一个简单的photoshop
- 自定义linux命令提示符格式