zoukankan      html  css  js  c++  java
  • 设计模式简单介绍和分组

    一、创建型:处理对象构造和引用。它们将对对象实例的实例化责任从客户代码中抽象处理,从而让代码保持松散耦合,将创建复杂对象的责任放在一个地方,这遵循了单一责任原则和分离关注点原则。

    1.Abstract Factory(抽象工厂):提供一个接口来创建一组相关的对象。

    2.Factory Method(工厂方法):支持使用一个类来委托创建有效对象的责任。

    3.Builder(生成器):将对象本身的构造分离出来,从而能构造对象的不同版本。

    4.Prototype(原型):能够从一个原型实例来复制或克隆类,而不是创建新实例。

    5.Singleton(单例):支持一个类只实例化一次,并只有一个可用来访问它的全局访问点。

    二、结构型:结构模型处理对象的组合与关系,以满足大型系统的需求。

    1.Adapter(适配器):使不兼容接口的类能够一起使用。

    2.Bridge(桥接):将抽象与其实现分离,允许实现和抽象彼此独立的变化。

    3.Composite(组合):可以像对待对象的单个实例那样来对待一组表示层次结构的对象。

    4.Decorator(装饰):能够动态包装一个类并扩展其行为。

    5.Facade(门面):提供一个简单的接口并控制对一组复杂接口和子系统的访问。

    6.Flyweight(享元):提供一种在许多小类之间高效共享数据的方式。

    7.Proxy(代理):为一个实例化成本很高的更复杂的类提供一个占位符。

    三、行为型:

    1.Chain of Responsibility(责任链):允许将命令动态链接起来处理请求。

    2.Command(命令):将一个方法封装成一个对象。并将该命令的执行与它的调用者分离。

    3.Interpreter(解释器):指定如何执行某种语言中的语句。

    4.Iterator(迭代器):提供以形式化的方式来导航集合的方法。

    5.Mediator(中介者):定义一个对象,可以让其他两个对象进行通信而不必让它们指定彼此。

    6.Memento(备忘录):允许将对象恢复到以前的状态。

    7.Observer(观察者):定义一个或者多个类在另一个类发生变化时接到报警。

    8.State(状态):允许对象通过委托给独立的,可改变的状态对象来改变自己的行为。

    9.Strategy(策略):能够将算法封装到一个类中并运行时转换,以改变对象的行为。

    10.Template Method(模板方法):定义算法流程控制,但允许子类重写或实现执行步骤。

    11.Visitor(访问者):能够在类上执行新的功能而不影响类的结构

  • 相关阅读:
    asp.net运行网页时出现目录清单
    c#变量命名规范
    asp.net的优点
    为什么使用javascript脚本语言以及javascript的特点组成
    ASP.NET控件
    sql2000的常见操作
    最常用的sql语句
    sql提升
    c语言学习(二) 程序的灵魂
    c语言学习(三) 数据类型
  • 原文地址:https://www.cnblogs.com/huijie/p/3587353.html
Copyright © 2011-2022 走看看