• 模式的起点


    1.工厂方法(Factory Method Pattern)

    模式起点:讲程序中创建对象的操作单独进行处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。

    典型应用:工厂方法模式是最简单也是最容易理解的模式之一。其关注的核心是对于对象创建这件事儿的分离

    2.单例(singleton pattern)

    模式起点:一个类只有一个实例,而提供一个访问全局点的方式,更加灵活地保证了实例的创建和访问约束,而且唯一约束的实施由类本身实现。

    典型应用:一个类只有一个实例,经常被应用于Facade模式,称为单例外观。

    3.命令(comman pattern)

    模式起点:讲请求封装为对象,从而将命令的执行和责任分开。通常在队列中等待命令,这和现实多么相似呀。如果你喜欢发号施令,请你考虑你的ICommand吧。

    典型应用:菜单系统

    4.策略(strategy pattern)

    模式起点:策略模式,将易于变化的部分封装为接口,通常Stratey 封装一些运算法则,使之能互换。

    典型应用:数据层常考虑以策略提供算法和数据的分离。

    5.迭代器(Iterator Pattern)

    模式起点:相信任何的系统中,都会用到数组,集合,链表,队列这样的类型吧,那么你就不得不关心迭代模式的来龙去脉。在遍历算法中,迭代模式提供了遍历的顺序访问容器,GOF给出的定义为:提供一种方法访问一个容器container对象中各种元素,而又无须暴露该对象的内部细节。

    典型应用:.net 中就是应用了迭代器来创建用于foreach的集合。

    6.模板方法(template method pattern)

    模式起点:顾名思义,模板方法就是在父类中定义模板,然后由子类实现。具体的实现一般由父类定义算法的骨架,然后将算法的某些步骤委托给子类。

    典型应用:ASP.net的page类。

    7.观察者(observer pattern)

    模式起点:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。观察者和被观察者的分开,为模块划分提供了清晰的界限。

    典型应用:在.net中使用委托和事件可以更好地实现观察者模式,事件的注册和撤销不久对应着观察者对其对象的观察吗?

    8.职责链(chain of responsibility Pattern)

    模式起点:将操作组成一个链表,通过遍历操作链表找到合适的处理器。通过统一的接口,被多个处理器实现,每个处理器都有后续处理器,可以将请求沿着处理器链传递。

    典型应用:GUI系统的事件传播。

    9.桥接(Bridge Pattern)

    模式起点:将实现和逻辑分开,对于我们深刻理解面向对象聚合复用的思想甚有助益。

    典型应用:多版本.net Framework通过环境变量与对应版本应用建立桥梁。

    10.代理(proxy Pattern)

    模式起点:将复杂的逻辑封装起来,通过代理对象控制实现对象的创建和访问,由代理对象屏蔽原有逻辑的复杂性,同时控制其可访问性。

    典型应用:WCF 服务代理

    11.装饰器(Decorator Pattern)

    模式起点:为原有系统,动态地增加或者删除状态和行为,在继承被装饰类的同时包含被装饰类的实例成员。

    典型应用:.net中Stream的设计。

    12.门面(Facade Pattern)

    模式起点:将表现层和逻辑层隔离,封装底层的复杂处理,为用户提供简单的接口,这样的例子随处可见。门面模式很多时候更是一种系统架构的设计,在很多项目中,都实现了门面模式的接口,为复杂系统的解耦提供了最好的解决方案。

    典型应用:WSDL就是一个典型的平台无关的门面应用。

    13.组合(composite pattern)

     模式起点:不管是个体还是组件,都包含公共的操作接口,通过同样的方式来处理一个组合中的所有对象。组件的典型操作包括:增加,删除,查找,分组和获取子元素等。

    典型应用:树形结构的数据组织。

    14.适配器(Adapter  Pattern)

    模式起点:在原类型不做任何改变的情况下,扩展了新的接口,灵活而且多余地适配一切旧俗。这种打破旧框框,适配新格局的思想,是面向对象的精髓。以继承方式实现类的Adapter模式和以聚合方式实现对象的Adapter模式,各有千秋,各取所长。看来,把它叫做包装器一点也不为过。

    典型应用:RCW(Runtime callable Wrapper)在COM Interop中的应用。

    经典设计模式

    创建类型模式:工厂方法,抽象工厂,单例,创建者,原型模式

    结构型模式:桥接,适配器,组合,外观,装饰,享元,代理

    行为型模式:模板方法,迭代器,中介者,职责链,解释器,命令,观察者,备忘录,状态模式,策略模式,访问者。

  • 相关阅读:
    5,7地面物品
    0,1选怪
    0,2使用红,蓝
    BT地址(__)
    3,7包裹物品数组
    0,4捡物
    如何在目标内网中发现更多存活主机
    xss自动化攻击
    .NET Framework 4安装失败
    利用struts1.x框架需要注意的问题
  • 原文地址:https://www.cnblogs.com/FaDeKongJian/p/3093996.html
Copyright © 2020-2023  润新知