zoukankan      html  css  js  c++  java
  • 原型&中介者模式

    写设计模式这一系列随笔是为了自己日后参考、复习所用,具有很大的针对性。作者学习设计模式涉及的书籍有Design Patterns、Head First Design Patterns、研磨设计模式,大家如果想深入、或者不懂之处可以从这三本书上下手。

    原型模式

    定义


    原型模式是说通过复制对象来创建新的实例。 

    类图


     

    关于克隆


    浅克隆:只克隆基本数据类型;

    深克隆:除了基本类型,还需克隆引用类型。 

    作用


    运行时动态改变实现类型;

    可以不修改原型对象来克隆原型副本;

    简化了新实例编码的复杂性;

    扩展了新实例的未知类型。

    中介者模式

    定义


     用一个中介者对象封装一系列对象之间的交互。

    类图


    关于具体使用


    具体开发中通常会简化中介者结构:

    去掉Colleague接口:除了约束Colleague子类类型,继承它一般没有什么实际意义;

    通常不定义Mediator接口,而是把ConcreteMediator实现成单例:定义接口是为了扩展更多的具体中介者类型,但实际开发中中介者只有一个;

    ConcreteMediator与ConcreteColleague不再相互引用,通过在具体调用中传递或创建实例来弱化这种强引用。

    作用


    封装隔离了具体的交互类;

    解耦了交互类之间的关系;

    中介者集中控制交互利于管理。

  • 相关阅读:
    CSS浏览器兼容解决总结
    Access的数据操作类(带异常处理)
    网页消息类
    生成验证码(纯中文)
    C#连接各种数据库(持续更新中)
    asp.net中实现文件批量上传!你会了吗?
    http 错误编号大全(转)
    SQL SERVER数据操作类
    web.config加密和解密
    C#中操作CMD命令行窗口
  • 原文地址:https://www.cnblogs.com/dahuandan/p/7705164.html
Copyright © 2011-2022 走看看