设计模式简介 秒速五厘米 2023-10-13 16:21 11阅读 0赞 #### 文章目录 #### * 前言 * 一、设计模式的起源 * 二、设计模式的关键元素 * * 1.模式名称(Pattern Name) * 2.问题(Problem) * 3.解决方案(Solution) * 4.效果(Consequences) * 三、设计模式分类 * 总结 -------------------- ## 前言 ## 随着面向对象技术的发展和广泛应用,设计模式不再是一个新兴名词,它已逐步成为系统架构人员、设计人员、分析人员以及程序开发人员所需掌握的基本技能之一。设计模式已广泛应用于面向对象对象系统的设计和开发,成为面向对象领域的一个重要组成部分。设计模式通常可以分为三类:创建型模式、结构型模式和行为型模式。 -------------------- ## 一、设计模式的起源 ## 模式起源于建筑业而非软件行业,模式之父——美国加利福尼亚大学环境结构中心研究所所长Christopher Alexander博士用了约20年的时间,对舒适型住宅和周边环境进行了大量的调查和资料收集工作,发现人们对舒适型住宅和城市环境存在着共同的认知规律。他把这些规律归为253个模式,对每一个模式都从Context(模式可适用的前提条件)、Theme或Problem(在特定条件下要解决的目标问题)和Solution(对目标问题的求解方案)三个方面进行描述,并给出了从用户需求分析到建筑环境结构设计直至经典实例的过程模型。Alexander给出模式的经典定义如下:每个模式都描述了一个在实际环境下不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,可以无数次地使用那些已有的解决方案,无须再重复相同的工作。即模式是在特定环境中解决问题的一种方案(A pattern is a solution to a problem in a context)。软件模式是将“模式”的概念用于软件开发领域,即软件开发的总体指导思路或参照样板。最早将模式引入软件领域的是1991年至1992年以“四人组”(Gang of Four,简称GoF,分别是Erich Gamma,Richard Helm,Ralph Johnson,John Vlissides)自称的四位著名软件工程学者,他们在1994年归纳发表了23种设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现之间的鸿沟。 ## 二、设计模式的关键元素 ## 设计模式包含模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式等基本要素,其中关键元素包括以下4个方面。 ### 1.模式名称(Pattern Name) ### 给模式取一个助记名,用一两个词来描述模式待解决的问题、解决方案和使用效果,以便更好地理解模式并方便设计人员和开发人员之间的交流。 ### 2.问题(Problem) ### 描述应该在何时使用设计模式,即在解决何种问题时可使用该模式。在问题部分有时会包括使用模式必须满足的一系列先决条件。 ### 3.解决方案(Solution) ### 描述设计的组成成分、它们之间的相互关系及各自的职责和协作方式。模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供一个问题的抽象描述和具有一般意义的元素组合(类和对象组合) ### 4.效果(Consequences) ### 描述模式应用的效果以及使用模式时应权衡的问题,就是模式的优缺点。没有一种解决方案是完美的,每种设计模式都具有自己的优点但也存在一些缺陷,它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。模式效果有助于选择合适的模式,它不仅包括时间和空间的权衡,还包括对系统的灵活性、扩充性或可移植性的影响。 ## 三、设计模式分类 ## 常用的设计模式分类方式有以下两种。 (1)根据模式的目的和用途,设计模式可分为创建型模式(Creational Pattern)、结构型模式(Structural Pattern)和行为型模式(Behavioral Pattern)三种。创建型模式主要用于创建对象;结构型模式主要用于处理类或对象的组合;行为型模式主要用于描述类或对象的交互以及职责分配。 (2)根据模式的处理范围,设计模式可分为类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系;对象模式处理对象间的关系,这些关系在运行时时刻变化,更具动态性。 -------------------- ## 总结 ## 本篇简单介绍了设计模式的定义、由来和设计模式的分类,后面将会使用实际案例开启设计模式之旅。
相关 设计模式简介 目录 什么是 GOF 设计模式的基石 设计模式总览 组件的生命周期 设计的7大原则 什么是 GOF 在 1994 年,由 Erich 向右看齐/ 2024年03月26日 12:19/ 0 赞/ 47 阅读
相关 设计模式简介 文章目录 前言 一、设计模式的起源 二、设计模式的关键元素 1.模式名称(Pattern Name) 2.问题(Problem 秒速五厘米/ 2023年10月13日 16:21/ 0 赞/ 12 阅读
相关 设计模式简介 1、设计模式是什么? 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式是软件工程的基石脉络,如同大厦的 ╰半橙微兮°/ 2022年08月25日 13:50/ 0 赞/ 156 阅读
相关 【详解设计模式-简介】设计模式简介 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般 谁践踏了优雅/ 2022年06月18日 00:57/ 0 赞/ 181 阅读
相关 设计模式简介 什么是模式?什么是设计模式?现已有哪些常用设计模式?对于各种不同的设计模式,如何应用?带着这些问题,开始了学习和了解设计模式的旅行。 在《在软件开发中理解和使用模式》一文中, 谁践踏了优雅/ 2022年05月29日 13:08/ 0 赞/ 154 阅读
相关 设计模式简介 一、参考书籍 《Design Patterns - Elements of Reusable Object-Oriented Software》(中文译名:设计模式 - 可复 朱雀/ 2022年05月24日 03:37/ 0 赞/ 149 阅读
相关 设计模式简介 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解 爱被打了一巴掌/ 2022年04月10日 02:43/ 0 赞/ 175 阅读
相关 设计模式简介 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的 妖狐艹你老母/ 2022年01月21日 02:39/ 0 赞/ 181 阅读
相关 设计模式---简介 参考菜鸟教程 根据设计模式的参考书 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名: 分手后的思念是犯贱/ 2021年09月30日 04:42/ 0 赞/ 237 阅读
相关 设计模式简介 > 设计模式: > > 前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定。而是一套用来提高代码可复用性、可维护性、可读性、稳健性、以及安全性的解决方案 末蓝、/ 2021年09月21日 15:54/ 0 赞/ 286 阅读
还没有评论,来说两句吧...