美文网首页
设计模式 - 工具箱

设计模式 - 工具箱

作者: no_today | 来源:发表于2017-12-10 17:25 被阅读0次

    大纲:

    • OO模式
    • OO基础
    • OO原则
    • Point

    # OO模式


    # OO基础

    • 抽象
    • 封装
    • 多态
    • 继承

    # OO原则

    • 封装变化
    • 组合优先继承

    使用组合更加灵活,可以在运行时替换行为,而如果是使用继承。
    行为则固定来自父类或子类。

    • 针对接口编程
    • 为交互对象之间的松耦合设计而努力 降低依赖
    • 对扩展开发,对修改关闭

    # Point

    1. 知道OO基础,并不足以让你设计出良好的OO系统。
    2. 良好的OO设计必须具备可复用、可扩充、可维护三个特性。
    3. 模式可以让我们建造出具有良好OO设计质量的系统。
    4. 模式被认为是历经验证的OO设计经验 。
    5. 模式不是代码,而是针对设计问题的通用解决方案。你可把它们应用到特点的应用中。
    6. 模式不是被发明,而是被发现。
    7. 大多数的模式和原则,都着眼于软件变化的主题。
    8. 大多数的模式都允许系统局部改变独立于其他部分。
    9. 我们常把系统中会变化的部分抽出来封装。
    10. 模式让开发人员之间有共享语言,能够最大化沟通的价值。
    11. 观察者模式定义了对象之间一对多关系。
    12. 主题 可观察者 用一个共同的接口来更新观察者
    13. 观测者和可观察者之间用松耦合方式结合 loosecoupl-ing,可观察者者不知道观察者细节,只知道观察者实现类观察者接口。
    14. 使用此模式时,你可以从被观测者处推 push 或拉 pull 数据。
    15. 有多个观察者时,不可以依赖特定的通知序列。
    16. Java有多种观察者模式的实现,包括了通用的 java.util.Observable。
    17. 要注意 java.util.Observable实现上所带来的一些问题。
    18. 如果有必要的话,可以实现自己的Observable,这并不难,不要害怕。
    19. Swing大量使用了观察者模式,许多GUI框架也是如此。
    20. 此模式也被应用在许多地方:JavaBeans,RMI。
    21. 继承属于扩展形式之一,但并不见得是达到弹性设计的最佳方式。
    22. 在我们的设计中,一个允许行为被扩展,而无需修改现有的代码。
    23. 组合和委托可用于在运行时动态地加上新的行为。
    24. 除了继承,装饰者也可以让我们扩展行为。
    25. 装饰者模式意味着一群装饰者群,这些类用来包装具体组件。
    26. 装饰者类反应出被装饰者的组件类型 (事实上,他们具有相同的类型,都经过接口或继承实现)。
    27. 装饰者可以在被装饰者的行为前面 and 后面加上自己的行为,升值将被装饰者的行为整个取代掉,而达到特定的目的。
    28. 你可以用无数个装饰者包装一个组件。
    29. 装饰者一般对组件的客户是透明的,除非客户程序依赖与组件的具体类型。
    30. 装饰者会导致设计中出现许多小对象,如果过度使用,会让程序变得很复杂。

    相关文章

      网友评论

          本文标题:设计模式 - 工具箱

          本文链接:https://www.haomeiwen.com/subject/iqlvixtx.html