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

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

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


    小结

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

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

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

    区别

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

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


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


    谁使用,谁判断的原则。

    代理模式应用:

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


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

  • 相关阅读:
    所谓的小项目
    PHP开发者常犯的10个MySQL错误
    这是掌握cookie最后的一个障碍
    Lua学习笔记(2)——table
    Corona Enterprise 引入第三方 jar 包
    Lua学习笔记(1)
    SQL分页查询笔记
    三两句记录设计模式(1)——简单工厂模式
    Window + Net + Corona + IOS PUSH
    IoC学习
  • 原文地址:https://www.cnblogs.com/loying/p/4306841.html
Copyright © 2011-2022 走看看