女友多的好处2(工厂方法)
(老鸟略过)
之前的一篇简单方法模式连接地址
http://ysen.iteye.com/admin/blogs/542437
先来说说简单方法模式明显的优缺点
优点:将不同的业务实例在工厂内部实现,客户端只需要传个String类型的值就ok
缺点:如果增加新的女友(业务类型)那么就要修改switch分支条件(我这里用的if..else判断)这就破坏了设计模式的开放封闭原则,工厂方法模式就是解决这个问题的办法之一(不知道还有没有其它的方法忘高手指教)
?
在这里感谢hankesi2000的热心回帖
hankesi2000在上篇简单工厂方法中已经提到了工厂方法,我在这里顺便整理了下
?
?
?
下面是创建的对象的 接口
GirlFactory girlFactory = new BeautifulGirlFactory();DreamGirl girl1 = girlFactory.creatDreamGirl(); DreamGirl girl2 = girlFactory.creatDreamGirl(); DreamGirl girl3 = girlFactory.creatDreamGirl(); girl1.can_do_something_for_boy() ;girl2.can_do_something_for_boy() ;gir3.can_do_something_for_boy() ;
?现在我们要将BeautifulGirl 改成SensibleGirl 那么客户端只需要改
GirlFactory girlFactory = new SensibleGirlFactory();就ok了
关键还是看需求选用不同的方法
?
hankesi2000 两种模式融合在一起也是非常不错的选择哈。
?
?
?
?
?
?
?