设计模式,这是我听过最糟糕的翻译,这个名字对于程序员来讲有点高高在上,难以理解,尤为是php,python,nodejs这些脚本语言的开发人员可能由于这个名字就忽视了设计模式的重要性。固然,除了名字之外,从更深层次,更具体来讲,我以为有三个缘由:php
可是用所谓‘简单’的方法去写的代码,业务一复杂以后,你就会发现改动之痛苦,改一个功能要看完全部流程,最后不得不重构,相信不少人都会有这个经历,这些就是设计模式解决的问题,可是精通了设计模式并不能解决全部问题,经常也要重构,设计模式绝对不是银弹。node
设计模式其实就是架构,实现一个模块或者功能有几种方法,前面的人总结了他以为最优的方法,而后抽象出来成为一种模式,这就是设计模式。本质上这和架构没有什么区别。python
那架构和设计模式有没有什么区别呢,实际上是有区别的,某种程度上能够这样理解:架构是从整个系统,更宏观的层面来总结的,而如今你们理解的设计模式,更可能是从代码层面出发,或者框架的层面来总结的。可是这种区别并非软件架构大师们主观的结果,这两个概念最开始是一个东西,可是随着软件复杂度的不断增长,演化成了两个概念。git
我以为对于设计模式的理解是把设计模式归并到架构的一部分,是架构的子集,重命名为代码架构,这样好理解不少。程序员
我的githubgithub