设计模式概述

设计模式概述

什么是模式?

模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案

什么是软件模式?

GOF(Gang of Four)将模式的概念引入软件工程领域,标志着软件模式的诞生。

软件模式并不仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上在软件生存周期的每一个阶段都存在着一些被认同的模式。

软件模式是在一定条件下软件开发问题解法

软件模式与具体的应用领域无关,在模式发现过程中要遵循大三律(Rule of There),即只有经过三个以上不同领域的系统的校验,一个解决方案才能从候选模式升格为模式

什么是设计模式?

在软件模式领域,目前研究最为深入的是设计模式。

设计模式是在特定环境下为解决某一通用软件设计问题提供的一套定制的解决方案,该方案描述了对象和类之间的相互作用。

在学习设计模式时应该准确记忆该模式的中英文名,在已有的类库中,很多使用了设计模式的类名通常包含了所使用的设计模式的名称,如果一个类的类名为XXXAdapter,则该类是一个适配器类,在设计时使用了适配器模式;如果一个类的类名为XXXFactory,则该类是一个工厂类,它一定包含了一个工厂方法用于返回一个类的实例对象。

设计模式分类

根据目的分类

创建型模式(用于创建对象):工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型模式(Prototype)和单例模式(Singleton)。

结构型模式(用于处理类或对象之间的关系):适配器模式(Adapter)、桥接模式(Bridge)、组合模式(Composite)、装饰模式(Decorator)、外观模式(Facade)、享元模式(Flyweight)和代理模式(Proxy)。

行为型模式(用于描述类或对象怎样交互和怎样分配职责):职责链模式(Chain of Responsibility)、命令模式(Command)、解释器模式(Interpreter)、迭代器模式(Iterator)、中介者模式(Mediator)、备忘录模式(Memento)、观察者模式(Observer)、状态模式(State)、策略模式(Strategy)、模板方法模式(Template Method)和访问者模式(Visitor)。

根据范围分类

类模式(处理类和子类之间的关系,这些关系通过集成建立,在编译时就被确定下来,是一种静态关系):工厂方法模式、适配器模式、解释器模式、模板方法模式;

对象模式(处理对象间的关系,这些关系在运行时动态变化,更具动态性):其他设计模式


设计模式是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将避免做一些重复性工作,并且可以设计出高质量的软件系统。


本设计模式专栏相关内容均参考自专业书籍《Java设计模式》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值