本文只是对“设计模式”,有个粗略的印象,列列有什么东西,具体内容在各章节再描述。

一、设计模式概述

        本部分内容主要来自百度百科词条“设计模式”。

  1.概念

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代 码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

  2.分类(23种GOF设计模式)

    设计模式分为三种类型,共23种。

  •     创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

  •     结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

  •     行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

  •  3.设计原则(5原则)

  •      为什么要提倡设计模式呢?根本原因是为了代码复用,增加可维护性。那么怎么才能实现代码复用呢?面向对象有几个原则:

  •     开闭原则(Open Closed Principle,OCP)

  •     里氏代换原则(Liskov Substitution Principle,LSP)

  •     依赖倒转原则(Dependency Inversion Principle,DIP)

  •     接口隔离原则(Interface Segregation Principle,ISP)

  •     合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP)

  •     最小知识原则(Principle of Least Knowledge,PLK,也叫迪米特法则)。

  •   4.学习思路

    某设计模式叫什么名字,明白为了解决什么问题而有了这个模式,具体是怎么解决的,优缺点适用性是啥。


二、设计模式在软件开发过程中所处地位

        本部分内容主要参考 王朔韬所著《软件是这样“炼”成的  ——从软件需求分析到软件架构设计》。

    内容待补充