23种设计模式总览

Posted Filwaod

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式总览相关的知识,希望对你有一定的参考价值。

23 种经典设计模式共分为 3 种类型,分别是创建型、结构型和行为型。

创建型模式

它主要解决对象的创建问题,封装复杂的创建过程,解耦对象的创建代码和使用代码。

单例模式
工厂方法模式
抽象工厂模式
建造者模式
原型模式

结构型模式

主要总结了一些类或对象组合在一起的经典结构,这些经典的结构可以解决特定应用场景的问题

适配器模式
装饰器模式
代理模式
门面模式
桥接模式
组合模式
享元模式

行为型模式

主要解决的就是“类或对象之间的交互”问题

策略模式
模板方法模式
观察者模式
迭代器模式
责任链模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式

设计模式总览

设计模式总览:

  学习设计模式基于了解软件设计原则

  设计原则 解释

  开闭原则 对扩展开放,对修改关闭。

  依赖倒置原则 通过抽象使各个类或者模块不相互影响,实现松耦合。

  单一职责原则 一个类、接口、方法只做一件事。

  接口隔离原则 尽量保证接口的纯洁性,客户端不应该依赖不需要的接口。

  迪米特法则 又叫最少知道原则,一个类对其所依赖的类知道得越少越好。

  里氏替换原则 子类可以扩展父类的功能但不能改变父类原有的功能。

  合成复用原则 尽量使用对象组合、聚合,而不使用继承关系达到代码复用的目的。


  用好设计模式能帮助我们更好的解决实际问题,设计模式最重要的是解耦。

  解决哪些问题?

    写出优雅的代码

    更好地重构项目
      JDBC代码为例

    经典框架都在用设计模式解决问题
      Spring 就是一个把设计模式用得淋漓尽致的经典框架,其实从类的命名就能看出来,我来一一列举:
        设计模式名称 举例
        工厂模式      BeanFactory
        装饰器模式     BeanWrapper
        代理模式      AopProxy
        委派模式      DispatcherServlet
        策略模式      HandlerMapping
        适配器模式        HandlerAdapter
        模板模式      JdbcTemplate
        观察者模式        ContextLoaderListener

   设计模式从来都不是单个设计模式独立使用的。在实际应用中,通常是多个设计模式混合使用,你中有我,我中有你。


    围绕 Spring 的 IOC、AOP、MVC、JDBC 这样的思路展开,根据其设计类型来设计讲解顺序:

      类型         名称     英文

      创建型模式      工厂模式     Factory Pattern
              单例模式     Singleton Pattern
              原型模式     Prototype Pattern

      结构型模式      适配器模式     Adapter Pattern
              装饰器模式     Decorator Pattern
              代理模式      Proxy Pattern

      行为性模式      策略模式       Strategy Pattern
              模板模式       Template Pattern
              委派模式       Delegate Pattern
              观察者模式      Observer Pattern

以上是关于23种设计模式总览的主要内容,如果未能解决你的问题,请参考以下文章

设计模式-总览

跟我一起学习设计模式总览

设计模式设计模式总览

信贷产品的架构设计总览

设计模式总览

设计模式总览