zoukankan      html  css  js  c++  java
  • 2015年3月1日11:39:28 设计模式

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

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


    小结

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

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

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

    区别

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

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


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


    谁使用,谁判断的原则。

    代理模式应用:

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


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

  • 相关阅读:
    Android开发——弹性滑动的两种实现方式
    管理知识和解决信息爆炸问题的4种方法
    京东金融的业务版图
    京东金融的业务版图
    虚幻引擎4艺术大师
    Android开发——View滑动的三种实现方式
    Android开发之Path类使用详解,自绘各种各样的图形!
    C# Dictionary的遍历理解
    我想走全产业链发展路线
    Androd安全——混淆技术完全解析
  • 原文地址:https://www.cnblogs.com/loying/p/4306841.html
Copyright © 2011-2022 走看看