zoukankan      html  css  js  c++  java
  • 《Head First 设计模式》 第十二章 复合模式

    复合模式

    模式

    复合模式

    复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。

    关联

    MVC ,即 Model-View-Controller(模型-视图-控制器)

    利用观察者模式让控制器和视图可以随最新的状态改变而更新。另一方面,视图和控制器则实现了策略模式。控制器是视图的行为,如果希望有不同的行为,可以直接换一个控制器。视图内部使用者模式来管理窗口、按钮以及其他显示组件。

     1、策略模式

    视图和控制器实现了经典的策略模式:视图是一个对象,可以被调整使用不同的策略,而控制器提供了策略。视图只关心系统中可视的部分,对于任何界面行为,都委托给控制器处理。使用策略模式也可以让视图和模型之间的关系解耦,因为控制器负责和模型交互来传递用户的请求。对于工作是怎么完成的,视图豪不知情。

    2、组合模式

    显示包括了窗口、面板、按钮、文本标签等。每个显示组件如果不是组合节点(例如窗口),就是叶节点(例如按钮)。当控制器告诉视图更新时,只需告诉视图最顶层的组件即可,组合会处理其余的事。

    3、观察者模式

    模型实现了观察者模式,当状态改变时,相关对象将持续更新。使用观察者模式,可以让模型完全独立于视图和控制器。同一个模型可以使用不同的视图,甚至可以同时使用多个视图。

  • 相关阅读:
    HDU 6194【后缀数组】
    SGU 104 Little shop of flowers【DP】
    POJ 2104 K-th Number【整体二分 + 树状数组】
    HDU 5573 Binary Tree【构造】
    UVA 10245 The Closest Pair Problem【分治】
    POJ 1741 Tree【树分治】
    边缘检测的微分算子简单比较【1】
    HDU 5584 LCM Walk【搜索】
    51nod 1686 第K大区间【离散化+二分】
    HDU 5572 An Easy Physics Problem【计算几何】
  • 原文地址:https://www.cnblogs.com/stone94/p/13173014.html
Copyright © 2011-2022 走看看