这两天一直在看那个《Head first Design patterns》,看着各种各样的模式,理
解着各种各样的场景,看着看着,突然想到一个问题,这些模式为了什么,除了减少代
码外,还为了什么?漂亮,优雅,可维护性。那么这一切又都为了什么呢,答案只有一
个,那就是应对变化。
可维护性什么的,如果没有变化的话,那么还提什么维护性。如果不变化的话,那
么优雅简单的代码和丑陋的代码有什么区别呢,如果没有变化的话,那么好的设计和不
好的设计的区别不是很大了,当然了,不能拿最好的和最坏的作比较。一切需要的只不
过是快速实现而已,而不是其他的了,那么那些设计模式什么的,可能就不会出现,因
为一切的需要都已经变成快速开发工具了,需要一把最快的斧子,一个最快开发的工具
就可以了。那么什么MDA什么的,我想可以很快就被实现了吧。
可是世界不是那么完美的,就像太极中的阴阳鱼一样,有阴就有阳。变化出现了,
这个阻碍开发的最大祸首出现了,让人们开始思考,开始考虑语言本身,开始考虑程
序,开始考虑可维护性。考虑这些本来是功能之外的东西。一切的一切都开始围绕着如
何应对变化展开了。Encapsulate what varies,Class should be open for extension
but closed for modification, Depend on abstractions .Do not depend on
concrete class, Programe to interface,not implementations,
Favor composition over inheritance等等着一些OO原则开始大行其道,开始被程序员
奉若圭臬。
那么是不是消除了变化就好了呢?当然不是,第一,如果没有了变化,那就意味着
商家就会跟不上社会的潮流,他们使用的系统是僵化的。或者是没有用的。 第二呢,
如果没有了变化,那么现在很多的程序员可能就已经失业了,那么软件业可能就不会像
现在这样繁荣了。第三,软件如果不变化那么就意味着死亡或者是濒临死亡的边缘了。
所以呢,我们要做的只能是拥抱变化(Embrace Change)这也就是最近敏捷编程
(XP)高喊的口号了,只有拥抱了变化才能使我们的软件不会死,害怕变化,不如拥抱
变化,与变化作朋友,只有这样,才能时时刻刻的感受着变化,应对着变化。
分享到:
相关推荐
这是万恶之源网安基地站长开发的万恶之源135抓鸡工具极速版的升级版
万恶的Blogbus教程免费版
斯蒂芬告诉对方告诉对方告诉对方告诉对方的方式告诉对方公司法
万恶的斐波那契.exe
万恶的前端内存泄漏及万善的解决方案详解.docx
万恶的凯撒加密古罗马的凯撒大帝发明了世界上最早的数学加密方法,“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。凯撒加密是最简单的加密方式,加密的双方
万恶的音乐符号超帆为了帮森森获得森森喜欢女孩子的星座,已经三星期没吃饭了,森森哼了一段曲子,并说如果你猜的出来这曲子是什么意思,我就请你吃饭!音符如下:§‖§‖
DonaldKnuth说“过早优化是万恶之源”(prematureoptimizationistherootofallevil)。这话也许有些夸张,但“过早优化”的危害我觉得不能忽视。 让正确的程序更快比让快速的程序正确要容易太多,太多。所以,缺省...
全国大学生电子设计竞赛(National Undergraduate Electronics Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例,经过测试可直接运行。...
《万恶迷糊尤物》第三技:笑看混战人1000字.docx
发生地方随碟附送地方
玩儿玩儿万恶人恶趣味而且维尔萨芬撒大幅撒大幅
SSM框架配置 底层配置万用模板(x)万恶之源(√) 自己手撸的SSM配置pwp方便自己也方便大家 如果有什么错误请联系我BedivereAlter@gmail.com
一款去点软件广告的补丁,希望对大家有用! 也希望大家支持我一下,首次发帖子!后面会有更好的!
一些不经常用的功能,希望有能帮助大家的地方
因为工作中有人喜欢在,前面加空格,还有人喜欢吧tab搞得到处都是,所以写了一个这个文件,用来删除行尾的tab与奇怪的空格
文件中是远程调试用到的文件,调试方法如下: 1. 拷贝《vs2003远程调试文件》文件夹到目标机器任意位置 2. 运行StartMsvcmon.bat批处理 3. 保证需要调试的进程已经启动,同时在执行文件下有相应的pdb文件 ...
代码已经封装为C++类的方式。内存共享分为服务端和客户端,服务端写入数据,客户端读取数据,服务端和客户端通过使用相同的名字,来确认配对。 下载只需要1积分,如果发现多于1积分,请留言我重新上传资源。
百变语音,人工智能化过,万恶的五十字。。。。。。。。。
javascript中万恶的function实例分析,学习js的朋友可以参考下。