一马平川
不积跬步无以至千里,后继才能薄发

设计模式的概念

2020年08月24日
0
未分类

设计模式概念

0. 设计模式产生的背景

“设计模式”最开始是在建筑设计领域被提出的,其对城镇、邻里、住宅、花园和房间等进行设计的基本模式,提供了一些建筑设计中常见问题的解决方法。
而在之后,软件开发中的“设计模式”才被提出,并在1995年,多名作者合作出版的《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software)一书中提出了23中设计模式,首次将软件设计模式进行具体定义和分类。

1. 什么是设计模式

软件设计模式(Software Design Pattern),简称设计模式,是一套被反复使用,分类的代码编程经验的总结。它将软件设计过程中一些重复的问题的解决方法抽象出来,归纳为一系列的解决方法。可以提高代码的可重用性,可读性和可靠性。
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。

2. 学习设计模式的意义

  • 可以提高程序员的思维能力、编程能力和设计能力。
  • 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
  • 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。

软件设计模式的基本要素

  1. 模式名(Pattern Name)

每个模式根据特点、所解决的问题、功能等属性进行命名。模式名称帮助我们记忆和实际软件设计过程中的交流。

  1. 问题(Problem)

问题描述了何时使用该模式,以及使用该模式的一些先决条件。

  1. 解决方案(Solution)

模式问题的解决方案包括设计的组成成分、它们之间的相互关系及各自的职责和协作方式。设计模式是一个模板,解决方案是通常是以类图形式展示,是对需要解决的问题的解决方案的抽象。

  1. 效果(Consequence)

描述了模式的应用效果以及使用该模式应该权衡的问题,即模式的优缺点。主要是对时间和空间的衡量,以及该模式对系统的灵活性、扩充性、可移植性的影响。

如果喜欢这篇文章,可以给作者评个份哦~

原文声明: "转载本站文章请注明作者和出处Nothinglin ,请勿用于任何商业用途"

公众号:苦逼的学生仔