浅谈简单工厂模式--工厂方法模式--抽象工厂模式的不同

简单工厂模式:

定义一个简单工厂类,然后把创建对象的功能让它去实现。

优点:客户端只负责对对象的调用,从而明确了各个类的职责。

缺点:1.由于简单工厂模式是用静态方法来创建对象,静态方法无法被继承。

   2.具体对象的增加,会导致需要不断修改工厂类,增加相应的逻辑判断,不利于后期维护。

 

工厂方法模式:

该模式解决了简单工厂模式的第二条缺点

定义一个工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

优点:客户端只负责对对象的调用,从而明确了各个类的职责。

     如果有新的对象加入进来,只需要添加一个具体的对象工厂类和具体的对象类,不会影响原有代码,有利于后期维护。

缺点:额外的编写代码,增加了代码量。

 

抽象工厂模式:

工厂方法模式中,是通过定义工厂接口,然后实现不同的具体工厂类去创建不同的具体对象。

[现实中,可能多个对象之间存在某种关系,比如(螺丝和螺母)比如(计算工资,社保,所得税)]

所以把一系列相互关联的对象设计到一个工厂类里后,客户端的调用将会变得非常简单。

优点:客户端只负责对对象的调用,从而明确了各个类的职责。

缺点:如果有新的对象加进来,则需要修改抽象工厂类的设计,并同时修改实现这个抽象工厂类的具体公厂类,需要额外的代码量,增加了工作量。

 

posted @ 2014-03-30 11:35  丶小八戒  阅读(149)  评论(0编辑  收藏  举报