美文网首页
设计模式的前世今生

设计模式的前世今生

作者: 叶华_YH | 来源:发表于2021-08-17 11:46 被阅读0次

前言

软件模式。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样例(编码,架构,需求分析以及过程分析等)。软件模式并不专门代指设计模式,还包含架构模式,分析模式和过程模式等。在软件开发、存续期的每一个阶段都有其适用的模式。由此可以看出设计模式仅是软件模式中的一种。

设计模式的前世

说起设计模式的前世,我们先要了解一下模式是如何诞生与发展的。与很多软件工程技术一样,模式起源于建筑工程领域。由杰出理论建筑家、公认的模式之父克里斯托弗·亚力山大(Christopher Alexander)在《建筑模式语言》一书中指出-"每个模式都描述了一个在我们的环境中不断出现的的问题,然后描述了该问题的解决方案的核心,通过这种方式,你可以无数次使用那些已有的解决方案,无需再重复相同的工作"

《建筑模式语言》一出版就受到建筑界的广泛重视和高度赞誉,并对建筑业产生了深远的影响。书中别出心裁且有根有据地描述了城镇、邻里、住宅、花园和房间等共253个模式,提供了一幅幅设计、规划、施工等方面的崭新蓝图,构思新奇,妙想迭出,不同流俗。

建筑模式语言

通过上述表述我们模式的起源已经略知一二,作为本系列文章而言。我们也只需要做到略知一二即可,本系列文章重点还是在于软件设计模式的讲解以及基于php去实现它。

设计模式的今生

最早将模式这个概念引入到软件工程的是由GoF(Gang of Four)四人组(Erich Gamma,、Richard Helm,、Ralph Johnson、John Vlissides)于1994年发表了 《Design Patterns Elements of Reusable Object-Oriented Software》又称《设计模式-可复用面向对象软件的基础》该书详细讲解了可用于软件工程领域的23种常用设计模式。

组成部分

软件模式的基础结构主要由四部分构成

问题描述 需要解决的问题

前提条件 解决问题的前提条件

解觉方案:问题的解决方案

效果:达成的效果,以及基于效果分析出优缺点

设计模式组成部分

结论

综上所述我们可以知道,设计模式并不一定就是一个类库或者其他第三方框架,它们更多的表现为一些解决问题的思想并且能广泛应用于日常软件工程工作中,可以在不同开发场景中解决所遇见的问题。设计模式可以用于加速并规范化进行开发工作。 一个模式就是一个可复用解决方案,一个模式解决了一类特定的问题,使用设计模式是为了增强代码本身的可复用性,可读性以及可靠性。使代码编制真正实现工程化。设计模式是软件工程的基石。项目中合理的使用设计模式可完美的解决很多问题。每种模式都有其对应的原理与之一一对应。

相关文章

  • 设计模式的前世今生

    前言 软件模式。软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样例(编码,架构,需求...

  • 模拟 Vue 手写一个 MVVM

    原文出自:https://www.pandashen.com MVVM 的前世今生 MVVM 设计模式,是由 MV...

  • UI设计的前世今生???

    在经历了iPhone给我们带来优秀的用户体验和界面后,我们开始逐渐认识一个新的工作岗位——UI设计。 随着时间的变...

  • Reactor反应式模式(事件驱动模式)

    一 reactor的前世今生 高性能IO绕不开Reactor模式,NIO是Java对Reactor模式的实践,而...

  • 将军在上之男昭女惜重生三世千年孽缘

    前世!今生!来世再续! 前世欠谁!今生还!来世再续前缘! 前世因!今生续!来世果!

  • 人死,并非如灯灭……

    “今生,是前世的“来生”,是来生的“前世”。在今生中,我们能见到自己的前世与来生。回溯前世,是为了改善今生;回到今...

  • 前世今生来世缘

    谈何前世情 今生还 今生情 来世还 前世孽债 前世还 未了 今生还 今生欠 今生还 谈何来世还 来世欠 来世还 能...

  • iOS Device ID 的前世今生

    iOS Device ID 的前世今生 iOS Device ID 的前世今生

  • 何世许今生

    前世的怨,今生的恨;前世的悲,今生的苦;前世的善,今世的乐。

  • 交互设计的前世今生

    读史使人明智,这几乎可以说是真理。可以从历史中洞悉事物发展的本质。帮助我们更好的活在现在和将来。回顾交互设计的历史...

网友评论

      本文标题:设计模式的前世今生

      本文链接:https://www.haomeiwen.com/subject/pzgbbltx.html