大话设计模式

文章目录

    • 设计模式简介
    • 设计模式分类
      • 创建型模式(Creational Pattern):
      • 结构型模式(Structural Pattern):
      • 行为型模式(Behavioral Pattern):

设计模式简介

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

我们在使用Spring、Hibernate、MyBatis等这些框架的过程中,或多或少都会接触到一些设计模式。比如Hibernate中的SessionFactory就是采用了工厂模式来创建数据库会话Session对象的;Spring框架中的每一个Bean默认都是单利模式的;Mybatis初始化mapper映射文件的过程中,为节点创建Cache对象的方式使用的是构造者模式。可以这么说,如果你想编写出一款易于维护、易于扩展、代码风格优雅的软件产品,学好设计模式很重要,而且还会大大提高你的编程水平。

设计模式分类

创建型模式(Creational Pattern):

对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰,外界对于这些对象只需要知道它们共同的接口,而不清楚其具体的实现细节,使整个系统的设计更加符合单一职责原则。

简单工厂模式(Simple Factory)

工厂方法模式(Factory Method)

抽象工厂模式(Abstract Factory)

建造者模式(Builder)

原型模式(Prototype)

单例模式(Singleton)

结构型模式(Structural Pattern):

描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。

适配器模式(Adapter)

桥接模式(Bridge)

组合模式(Composite)

装饰模式(Decorator)

外观模式(Facade)

享元模式(Flyweight)

代理模式(Proxy)

行为型模式(Behavioral Pattern):

通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,一个对象在运行时也将影响到其他对象的运行。

职责链模式(Chain of Responsibility)

命令模式(Command)

解释器模式(Interpreter)

迭代器模式(Iterator)

中介者模式(Mediator)

备忘录模式(Memento)

观察者模式(Observer)

状态模式(State)

策略模式(Strategy)

模板方法模式(Template Method)

访问者模式(Visitor)

以上就是我们常说的23种设计模式,后面的文章中我们一个一个慢慢消化,做到学以致用。

你可能感兴趣的:(DesignPattern,设计模式)