学习设计模式笔记--简单工厂

来源:互联网 发布:在线算法和离线算法 编辑:程序博客网 时间:2024/05/30 02:24

注: 本篇文章的代码和概念来自《研磨设计模式》一书。

设计模式分类:创建型–对象的创建,结构性–类与类之间,行为型–算法和对象,职责分配。

提前设计+重构=趋于优秀的系统。

简单工厂,不是标准的23中的设计模式,在实际开发中非常常用。

定义:提供一个创建对象实例的功能,而无需关心具体实现。被创建的实例可以是接口,抽象类,也可以是具体的类。

实例代码:接口:public interface Api {    public void operation (String s);}实现类:public class ImplA  implements Api{    public void operation(String s) {        System.out.println(" ImplA s =" + s);    }}public class ImplB  implements Api{    public void operation(String s) {        System.out.println(" ImplB s =" + s);    }} 工厂:public class Factory {    public static Api crateApi(int condition){        Api api= null;        if(condition == 1){            api = new ImplA();        }else if(condition == 2){            api = new ImplB();        }        return api;    }}客户端:public class Client {    public static void main(String[] args) {        Api api = Factory.crateApi(1);        api.operation("简单工厂实现");    }}静态工厂: 把工厂类的构造私有化。对外提供静态方法。和工具类一样。private Factory(){}

创建对象范围:一个独立的封装体。
简单工厂的优缺点:
优点:
1 帮助封装
2 帮助解耦
缺点:
1 可能增加客户端的复杂程度
2 不方便扩展子工厂

0 0
原创粉丝点击