23种设计模式汇总-------【摘自易学设计模式】

设计模式是为了设计简单,适应变化,而不是更复杂。

一定要避免过度地使用设计模式。

创建型模式
1.简单工厂模式(Simple Factory)
       定义一个具体的工厂类来负责创建一些类的实例,而这些被创建的类都应该有一个共同的父类,这样就可以实现面向抽象而不是面向具体编程。客户类和工厂类分开,客户类在任何时候需要某种产品,只需要向工厂请求即可,客户类无需修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。
2.工厂方法模式(Factory Method)
       抽象工厂类负责定义创建对象的接口,具体对象的创建工作由实现抽象工厂的具体工厂类来完成。工厂类不再负责所有产品的创建,而是将具体的创建工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。
3.抽象工厂模式(Abstract Factory)
       提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
4.创建者模式(Builder)
       将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户端不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。
5.原型模式(Prototype)
       通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。
6.单例模式(Singleton)
       单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。分饿汉式和懒汉式。
结构型模式
7.外观模式(Facade)
       为子系统对外提供的一组接口提供一个统一的界面,使得其他系统对该系统的访问都通过这个统一的界面来完成。
8.适配器模式(Adapter)
       把一个类的接口变化成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能一起工作。
9.代理模式(Proxy)
       代理模式给某一个对象提供一个代理对象,并由代理对象控制源对象的引用。
10.装饰模式(Decorator)
       装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一种替代方案,提供比继承更多的灵活性。
11.桥模式(Bridge)
       将抽象和实现解耦,使得两者可以独立地变化,也就是指在一个软件系统的抽象化和实现化之间使用组合关系而不是继承关系,从而使两者可以独立地变化。
12.组合模式(Composite)
       用来描述整体和部分的关系,组合模式使得客户端把一个个单独的成分对象和由它们复合而成的合成对象同等看待。
13.享元模式(Flyweight)
       享元模式以共享的方式高效地支持大量的细粒度对象,享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部,不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的,享元模式大幅度地降低了内存中对象的数量。
行为型模式
14.模板方法模式(Template Method)
       定义一个算法执行的骨架,而将具体的算法延迟到子类中来实现。
15.观察者模式(Observer)
       让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。
16.状态模式(State)
       状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类,状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。
17.策略模式(Strategy)
       策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使他们可以相互替换。
18.职责链模式(Chain of Responsibility)
          请求在职责链上传递,直到链上的某一个对象决定处理此请求,客户并不知道链上的哪一个对象最终处理这个请求,系统可以在不影响客户端的情况下动态地重新组织链和分配责任。
19.命令模式(Command)
        命令模式把一个请求或者操作封装到一个对象中,命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。
20.访问者模式(Visitor)
        访问者模式的目的是封装一些施加于某种数据结构元素之上的操作,一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。
21.调停者模式(Mediator)
        调停者模式包装了一系列对象相互作用的方式,使得这些对象不必相互明显依赖,从而使它们可以松耦合。调停者模式将多对多的相互作用转化为一对多的相互作用。
22.备忘录模式(Memento)
        备忘录对象是一个用来存储另外一个对象内部状态的快照的对象,备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态存储起来,从而可以在将来合适的时候把这个对象还原到存储前的状态。
23.迭代器模式(Iterator)
        可以顺序访问一个聚集中的元素而不必暴露聚集中的内部表象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
☆ 资料说明:☆ 《易学 设计模式》 郭志学 编著 随书源代码 ☆ 章节清单:☆ 第01章 欲速则不达:了解设计模式 第02章 磨刀不误砍柴工:UML语言概述 第03章 术业有专攻:简单工厂模式 (SimpleFactory) 第04章 精益求精:工厂方法模式 (FactoryMethod) 第05章 再接再厉:抽象工厂模式 (AbstractFactory) 第06章 孜孜不倦:创建者模式 (Builder) 第07章 照猫画虎:原型模式 (Prototype) 第08章 独一无二:单例模式 (Singleton) 第09章 一目了然:外观模式 (Facade) 第10章 改头换面:适配器模式 (Adapter) 第11章 越俎代庖:代理模式 (Proxy) 第12章 真人不露相:装饰模式 (Decorator) 第13章 游刃有余:桥模式 (Bridge) 第14章 如法炮制:组合模式 (Composite) 第15章 源源不断:享元模式 (Flyweight) 第16章 按部就班:模板方法模式 (TemplateMethod) 第17章 风吹草动:观察者模式 (Observer) 第18章 变化多端:状态模式 (State) 第19章 明修栈道,暗度陈仓:策略模式 (Strategy) 第20章 循序渐进:职责链模式 (ChainofResponsibility) 第21章 独具匠心:命令模式 (Command) 第22章 步调一致:访问者模式 (Visitor) 第23章 左右逢源:调停者模式 (Mediator) 第24章 白纸黑字:备忘录模式 (Memento) 第25章 周而复始:迭代器模式 (Iterator) 第26章 望文生义:解释器模式 (Interpreter) 第27章 无招胜有招:如何在设计中应用设计模式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值