设计模式概述

一、设计模式概念

设计模式是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。使用设计模式的目的就是为了提高代码的重用性、增强代码的可靠性、使代码更容易被人所理解。设计模式使代码编制真正工程化,是软件工程的基石。在面对对象编程语言中,如JAVA,设计模式向我们提供了一套可复用的面向对象技术。

Java设计模式贯彻的原理是:面向接口编程,而不是面向实现。其目标原则是:降低耦合,增强灵活性。

二、设计模式要素

描述设计模式需要一定的格式,可以采用的格式有很多,如GoF格式和Alexander格式。在不同的格式中,虽然有一些细节上的不同,但设计模式英爱包含以下几个要素。

-模式名称

一个好的名称可以简洁而有效的描述设计模式的问题、解决方案和效果。一个模式必须要有一个简单准确而又有意义的名字。好的模式名称方便设计人员之间的交流与讨论。

-问题

-环境或初始环境

-解决方案

-效果

-举例

-莫态环境

-推理

-其他有关模式

-已知的应用


三、设计模式分类

常用的设计模式可以分为23种,三大类,分别为:创建型(5)、结构型(7)、行为型(11)。

1.创建型

创建型模式是用来创建对象的模式,它将实例化的过程抽象,帮助一个系统独立于其关联对象的创建、组合和表示方式。所有的创建型模式都有一以下两个功能:

-将系统所使用的具体类的信息封装起来。

-隐藏实例过程中的具体实现细节,只提供它们共同的接口。

常见的创建型设计模式有下列几种:

单例模式(Single Pattern)

工厂方法模式(Factory Pattern)

抽象工厂模式(Abstract Factory)

建造者模式(Builder Pattern)

原型模式(Prototype Pattern)


2.结构型

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

常见的结构型设计模式有下列几种:

代理模式(Proxy)

装饰模式(Decorator)

适配器模式(Adapter)

组合模式(Composite)

桥梁模式(Bridge)

外观模式(Facade)

享元模式(Flyweight)

3.行为型

行为型模式关注的是对象的行为,用来解决对象之间的联系问题。

常见的行为型设计模式有下列几种:

模板方法模式(Template Method)

命令模式(Command)

责任链模式(Chain of Responsibility)

策略模式(Strategy)

迭代器模式(Iterator)

中介者模式(Mediator)

观察者模式(Observer)

备忘录模式(Memento)

访问者模式(Visitor)

状态模式(State)

解释器模式(Interpreter)

你可能感兴趣的:(设计模式概述)