2015年3月1日11:39:28 设计模式

抽象工厂可以创建多个产品类对象,如在种菜工厂中,有种根菜,种茎菜。工厂模式与抽象工厂模式以及简单工厂模式只有在具体应用的时候,分析具体的产品层级,然后选择相应的设计模式。

而在没一个层次,种菜工人所关心的对象也不一样,在简单工厂模式下,工人要想到种植萝卜还是白菜,在工厂模式下,工人想到是种植根菜还是茎菜,而在抽象工厂模式下,则关心种植基因菜还是非基因菜

 

 


小结

★工厂模式中,重要的是工厂类,而不是产品类。产品类可以是多种形式,多层继承或者是单个类都是可以的。但要明确的,工厂模式的接口只会返回一种类型的实例,这是在设计产品类的时候需要注意的,最好是有父类或者共同实现的接口。

★使用工厂模式,返回的实例一定是工厂创建的,而不是从其他对象中获取的。

★工厂模式返回的实例可以不是新创建的,返回由工厂创建好的实例也是可以的。

 

区别

简单工厂 : 用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)

工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

 


设计模式:代理。
文本编辑器的图片。
可用在前端UI的加载


谁使用,谁判断的原则。

 

代理模式应用:

UI的打开 和 加载。
打开后再加载,数据部分和显示部分分开。
显示部分在加载资源时,不显示,但是可以更新数据。
加载完成时,再去刷新显示。


观察者模式
注意引用会导致垃圾回收机制,无法回收类。
在listItem使用观察者模式时,最好不要实时new ListItem.
推模式,拉模式。
数据更新前update,或者数据更新后update。要保持一致性。

 

posted on 2015-03-01 11:43  loying  阅读(143)  评论(0编辑  收藏  举报

导航