这两天一直在看那个《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)高喊的口号了,只有拥抱了变化才能使我们的软件不会死,害怕变化,不如拥抱
变化,与变化作朋友,只有这样,才能时时刻刻的感受着变化,应对着变化。
分享到:
相关推荐
【万恶之源2011VIP内部135】是一个特定版本的网络安全工具,由“万恶之源网安基地”站长开发。这个工具的名称中提到的“135抓鸡”,实际上指的是在网络安全领域中寻找并控制易受攻击的服务器或计算机的行为,这些...
这篇"万恶的Blogbus教程免费版"很可能是针对初学者或者那些希望深入理解Blogbus平台特性的用户设计的。从提供的文件列表来看,我们有以下三个文件: 1. **下载说明.txt** - 这个文件可能包含了下载教程的具体步骤,...
很抱歉,但根据您提供的信息,标题"万恶的反对风格如果我"和描述"斯蒂芬告诉对方告诉对方告诉对方告诉对方的方式告诉对方公司法"似乎与IT知识不直接相关,同时也无法明确地指向任何特定的技术主题。标签"法大赛官方...
万恶的斐波那契.exe
万恶之源:伟大的迅雷!
"android去万恶的广告补丁"是一个针对这一问题的解决方案,旨在帮助用户去除应用程序中的广告,提升使用舒适度。这个补丁由开发者首次发布,表达了他们希望通过提供这种服务来获得用户的支持,并承诺未来会有更多...
前端内存泄漏及解决方案详解 在前端开发中,内存泄漏是一个非常重要的主题。内存泄漏是指系统进程不再使用的内存没有及时释放,导致内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。在本文中,我们将讨论...
全国大学生电子设计竞赛(National Undergraduate Electronics Design Contest),试题,解决方案及源码。计划或参加电赛的同学可以用来学习提升和参考。程序均是实战案例,经过测试可直接运行。...
凯撒加密,又称为移位密码,是一种古老且基础的加密技术,源于古罗马时期的军事通信,用以保护敏感信息不被敌人截获。它的基本原理是将明文中的每个字母按照固定的距离在字母表上向前或向后移动,以此达到加密的效果...
在音乐的世界里,符号是传达旋律、节奏和情感的关键元素。音乐符号的种类繁多,它们各有特定的含义,能够指示演奏者如何演绎乐曲。在这个故事中,超帆正面临一个挑战,他需要理解森森哼唱的一段曲子所包含的信息。...
**集团在进行人力资源信息化建设的过程中,旨在通过先进的技术手段提升人力资源管理效率,强化集团的管控能力和决策支持。项目的核心目标是构建一个集平台化、开放性、集成性于一体的人力资源管理系统(E-HR),以...
玩儿玩儿万恶人恶趣味而且维尔萨芬撒大幅撒大幅
### C#小技巧详解 #### 一、颜色值转换技巧 在C#中,颜色值的处理是非常常见的需求之一,特别是在进行UI设计时。这里介绍一个实用的小技巧:如何将`System.Drawing.Color`结构体的颜色值转换为16进制字符串,并反...
《万恶迷糊尤物》第三技:笑看混战人1000字 本篇小说主要讲述了格湘和殷澈之间的故事,并揭示了格湘的真实身份。故事开头,格湘和殷澈之间发生了一些有趣的互动,殷澈表现出对格湘的保护和照顾。然而,安洁却指控格...
文件中是远程调试用到的文件,调试方法如下: 1. 拷贝《vs2003远程调试文件》文件夹到目标机器任意位置 2. 运行StartMsvcmon.bat批处理 3. 保证需要调试的进程已经启动,同时在执行文件下有相应的pdb文件 ...
【标题】:“万恶的Appuse-----Appuse2.X在MyEclipse之中的部署问题” 在探讨Appfuse 2.x在MyEclipse中的部署问题前,我们先来了解下Appfuse和MyEclipse这两个关键概念。 Appfuse是一个开源项目,它提供了一种快速...
因为工作中有人喜欢在,前面加空格,还有人喜欢吧tab搞得到处都是,所以写了一个这个文件,用来删除行尾的tab与奇怪的空格
然而,如果配置过于通用,可能会带来问题,因为每个项目都有其特定的需求,过度模板化的配置可能会限制项目的灵活性,这可能是为什么描述中称其为“万恶之源”。 文件名为"meow",在上下文中可能表示这个压缩包里...
文件中是远程调试用到的文件,调试方法如下: 1. 拷贝《vs2003远程调试文件》文件夹到目标机器任意位置 2. 运行StartMsvcmon.bat批处理 3. 保证需要调试的进程已经启动,同时在执行文件下有相应的pdb文件 ...
在Windows平台上,C++共享内存是一种高效的进程间通信(IPC, Inter-Process Communication)方法,允许不同的进程访问同一块内存区域。本项目提供了一个已经封装为C++类的实现,使得服务端可以写入数据,而客户端则...