代码架构?我对设计模式的理解
2018-03-22 11:08
429 查看
设计模式,这是我听过最糟糕的翻译,这个名字对于程序员来说有点高高在上,难以理解,尤其是php,python,nodejs这些脚本语言的开发人员可能因为这个名字就忽视了设计模式的重要性。当然,除了名字以外,从更深层次,更具体来说,我觉得有三个原因:
不用设计模式也可以完成工作,很多时候反而更简单快速;
软件的世界快速迭代,很多设计模式有些过时了;
如果没有理解透彻一些设计模式,可能还存在过度设计的问题,拿着把锤子,看到哪里都是钉子。
但是用所谓‘简单’的方法去写的代码,业务一复杂之后,你就会发现改动之痛苦,改一个功能要看完所有流程,最后不得不重构,相信很多人都会有这个经历,这些就是设计模式解决的问题,但是精通了设计模式并不能解决所有问题,常常也要重构,设计模式绝对不是银弹。
不用设计模式也可以完成工作,很多时候反而更简单快速;
软件的世界快速迭代,很多设计模式有些过时了;
如果没有理解透彻一些设计模式,可能还存在过度设计的问题,拿着把锤子,看到哪里都是钉子。
但是用所谓‘简单’的方法去写的代码,业务一复杂之后,你就会发现改动之痛苦,改一个功能要看完所有流程,最后不得不重构,相信很多人都会有这个经历,这些就是设计模式解决的问题,但是精通了设计模式并不能解决所有问题,常常也要重构,设计模式绝对不是银弹。
设计模式的本质是什么
设计模式其实就是架构,实现一个模块或者功能有几种方法,前面的人总结了他觉得最优的方法,然后抽象出来成为一种模式,这就是设计模式。本质上这和架构没有什么区别。设计模式和架构的区别
那架构和设计模式有没有什么区别呢,其实是有区别的,某种程度上可以这样理解:架构是从整个系统,更宏观的层面来总结的,而现在大家理解的设计模式,更多是从代码层面出发,或者框架的层面来总结的。但是这种区别并不是软件架构大师们主观的结果,这两个概念最开始是一个东西,但是随着软件复杂度的不断增加,演化成了两个概念。更好的理解设计模式
我觉得对于设计模式的理解是把设计模式归并到架构的一部分,是架构的子集,重命名为代码架构,这样好理解很多。相关文章推荐
- 设计模式——代理模式(理解静态代理和动态代理+代码)
- 简单Java代码实例助你通俗易懂的理解什么是装饰(者)设计模式 (Decorator)
- 谈谈对一些软件架构设计箴言的理解 对软件的过早地优化是万恶的根源 反设计模式案例简介
- 三层架构,MVC模型,工厂设计模式的粗浅理解 转
- 从模式角度理解Android架构设计-Facade模式
- 理解架构、框架与设计模式
- JAVA模板方法设计模式(从现实生活角度理解代码原理)
- 《iOS「通告机制」及由其引出的对「架构模式」、「设计模式」的理解
- 不要使用不理解或不适用的架构或设计模式
- JAVA模板方法设计模式(从现实生活角度理解代码原理)
- js架构设计模式——理解javascript中的MVVM开发模式
- iOS---设计模式、架构模式、框架的理解
- ASP.NET 架构 项目开发-让设计模式成为一种心智-深入理解三层架构
- 设计模式,理解模式,代码模式
- 架构模式(Architectural Pattern)、设计模式(Design Pattern)、代码模式(Coding Pattern)
- 合理设计代码架构(设计模式之抽象工厂)
- 架构 框架 设计模式的理解
- 设计模式之工厂模式(设计之道代码理解)
- 系统架构模式&&通用职责分配软件模式(GRASP)&&代码设计模式
- 设计模式——面向接口编程之柔性多态增强代码的可扩展性