您的位置:首页 > 编程语言 > C#

C#设计模式系列目录

2015-06-11 16:28 239 查看
 初学设计模式,系列文章将持续更新。

一、23种设计模式

  设计模式简介

  UML基础:类图

第I部分 创建型模式(Creational Patterns)

  创建型模式即用来进行对象创建的的模式,创建型模式的目标是简化对象的创建和方便对象的管理。  

  ◊ 创建型模式(Creational Pattern)关注对象的创建过程

  ◊ 创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对用户隐藏了类的实例的创建细节

  ◊ 创建型模式描述如何将对象的创建和使用分离,让用户在使用对象时无须关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展

  创建型模式关注点在于创建对象和使用对象,包括:

  ◊ 创建什么(What)

  ◊ 由谁创建(Who)

  ◊ 何时创建(When)

  工厂模式主要用于创建独立的、相互无关联的大量对象;抽象工厂模式用于成套对象的一次性创建;建造者模式用于创建步骤文档,但创建步骤中的元素易变的对象的创建;单件模式用于创建必须唯一的实例;原型模式用于创建大量相同或相似的对象。

  第I章 简单工厂模式(Simple Factory)

  第1章 抽象工厂模式(Abstract Factory)

  第2章 建造者模式(Builder)

  第3章 工厂方法模式(Factory Method)

  第4章 原型模式(Prototype)

  第5章 单件模式(Singleton)

第II部分 结构型模式(Structural Patterns)

  结构型模式讨论的是类和对象的结构,采用继承机制来组合接口(类结构型模式)或者通过组合一些对象,从而实现新的功能(对象结构型模式)。

  适配器模式是通过类的继承或者对象的组合侧重与转换已有的接口;桥接模式是通过将抽象和实现分离,让它们可以分别独立地变化,它强调的是系统沿着多个方向的变化;装饰模式采用对象组合而非继承的手法,实现在运行时动态的扩展对象功能的能力,它强调的是扩展接口;组合模式模糊了简单元素和复杂元素的概念,它强调的是一种层次式的结构;外观模式将复杂系统的内部子系统与客户程序之间的依赖解除,它侧重于简化接口,更多的是一种架构模式;享元模式解决由于存在大量的细粒度对象而造成不必要的内存开销的问题,它与外观模式恰好相反,关注的重点是细小的对象;代理模式为其他对象提供一种代理以控制对这个对象的访问,它侧重于增加间接层来简化复杂的问题。

  适配器模式和桥接模式具有一些共同的特征:他们都给另一对象提供了一定程度上的间接性,因而有利于系统的灵活性;它们都涉及从自身以外的一个接口向这个对象转发请求。这两种模式的不同之处主要在于它们各自的用途。适配器模式主要是为了解决两个已有接口之间不匹配的问题,它不考虑这些接口是怎样实现的;而另一方面,桥接模式则对抽象接口与它的实现部分进行桥接。虽然这一模式允许修改实现它的类,但仍然为用户提供了一个稳定的接口。桥接模式也会在系统演化时适应新的实现。它们的区别在于:外观Facade定义了一个新的接口,而适配器Adapter则复用了一个原有的接口。

  装饰模式和组合模式都基于递归组合来组织可变数目的对象,两个模式的目的不同。装饰旨在使你能够不需要生成子类即可给对象添加职责。这样避免了静态实现所有功能组合,从而导致子类急剧增加。组合模式则由不同的目的,它旨在构造类,使多个相关的对象能够以统一的方式处理,而多重对象可以被当作一个对象来处理。它重点不在修饰,而在表示。另一种与装饰模式结构类似的模式是代理模式,这两种模式都描述了怎样为对象提供一定程度上的间接引用,Proxy和Decorator对象的实现部分都保留了指向另一个对象的指针,它们向这个对象发送请求。同样它们具有不同的设计目的,代理模式构成一个对象并为用户提供一致的接口,但代理模式不能动态添加或分离性质,它也不是为递归组合而设计的。它的目的是,当直接访问一个实体不方便或不符合需要时,为这个实体提供一个替代者。

  第6章 适配器模式(Adapter)

  第7章 桥接模式(Bridge)

  第8章 组合模式(Composite)

  第9章 装饰模式(Decorator)

  第10章 外观模式(Façade)

  第11章 享元模式(Flyweight)

  第12章 代理模式(Proxy)

第III部分 行为型模式(Behavioral Patterns)

  行为型设计模式及算法和对象之间职责的分配。行为型设计模式不仅仅描述对象或类的模式,还描述它们之间的通信模式。行为型设计模式使用对象复合而不是继承。

  第13章 职责链模式(Chain of Responsibility)

  第14章 命令模式(Command)

  第15章 解释器模式(Interpreter)

  第16章 迭代器模式(Iterator)

  第17章 中介者模式(Mediator)

  第18章 备忘录模式(Memento)

  第19章 观察者模式(Oberver)

  第20章 状态模式(State)

  第21章 策略模式(Strategy)

  第22章 模板方法模式(Template Method)

  第23章 访问者模式(Visitor)

二、6大设计原则

  Robert Martin提出的S.O.L.I.D 原则包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。

  第24章 单一职责原则(Single Responsibility Principle)

  第25章 开闭原则(Open Close Principle)

  第26章 里氏替换原则(Liskov Substitution Principle)

  第27章 接口隔离原则(Interface Segregation Principle)

  第28章 依赖倒置原则(Dependence Inversion Principle)  

  第29章 迪米特法则(Low Of Demeter)

三、数据访问模式

  Identity Map(标识映射)模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: