美文网首页
现实中的模式应用

现实中的模式应用

作者: wyrover | 来源:发表于2016-10-10 16:28 被阅读9次

    桥接模式

    针对接口编程,就是桥接模式

    策略模式

    策略模式也可看作是针对接口编程

    状态模式

    状态模式通过 Context 来切换状态,各个状态直接是强关系。切换时直接 new 出下一个状态。

    模板方法模式

    用来实现框架,规划好调用流程,你来实现,框架调用你。MFC 是一个很差实现。

    抽象工厂模式

    不同的数据访问族类,比如 oledb 族,oracle 族 等等

    大部分时候不要替换 DAO,很少用到。

    简单工厂模式

    DLL 导出简单工厂函数,由 DLL 导出函数创建对象

    工厂方法模式

    COM 类厂,自己实现

    Builder 模式

    windows 窗口是一个大对象,放在上面的各种按钮是小对象,大对象由各种小对象构造而成,构造步骤通常在窗体的初始化函数类,比如 Init()

    装饰模式

    装饰模式可以做对象方法钩子

    享元模式

    享元模式实际上可看作个多个对象共享一个对象引用,当然这个对象引用可以用对象管理器管理器来,比如 map,然后通过 key 来查询

    迭代器模式

    迭代器模式就是各种集合类的迭代接口统一,循环遍历统一,通过自己的对象方法返回迭代器接口,迭代器的实例化 new 的时候传 this 指针

    Observer 模式

    典型的一对多,相同的事件可注册多个观察者,如果没有事件管理器,那么业务类直接实现 Observer 接口,可接受观察者订阅。如果有事件管理器,观察者可能直接连在事件管理器上,不与业务对象交互,业务对象直接发送事件即可。

    如果是一对一,那么可直接看作聚合了一个简单的回调接口。

    代理模式

    远程方法调用代理

    Visitor 模式

    accept 可看作是一个不保持对象引用的 set 构造子,只不过在接受之后直接调用了 Visitor 的 Visit 方法,并将 this 指针传入。这样的好处是,迭代时,不同的被访问者都可以被相同的 Visitor 访问,调用相同的 Visit 方法,当然这个 Visit 方法是重载的。

    Dispatcher 模式

    网络协议分派,不同的协议由不同的 handler 来响应,dispatcher 可注册 handler,

    如果是事件分发器,可以一个事件对应多个 handler。

    相关文章

      网友评论

          本文标题:现实中的模式应用

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