从根本上讲,源代码就是设计。
而当软件出现以下的7种特征时,说明软件已经开始变味,腐化。
造成这些的原因就是需求,改动很急迫,并且改动的开发人员对于原始的设计思路并不熟悉。随着改动不断进行,这些弊端渐渐地积累,直到晚期。我们必须要设法找到一种方法来防止设计腐化,而敏捷团队依靠变化来获取活力对应这些情况很有灵活性。
Copy程序
这个例子很好的反映了项目由最初的需求到需求改变导致代码结构越来越怪的过程。然后需要怎么利用敏捷设计保持代码的灵活。例子中使用抽象类来使他们免于输入设备的变化带来的麻烦。
Single Reposibility Principle
就一个类而言,有且仅有一个引起它变化的原因 (A class should have one, and only one, reason to change)
应该SRP原则的关键是SOC(Separation Of Concerns):分离耦合,让这些关注点彼此独立。典型例子就是WinForm中的业务代码与UI代码混写在一个窗体文件中。
Open Closed Principle 开闭原则
Software entities(classes,modules,functions,etc.)must be open for extension but closed for modification. 软件实体(类,模块,函数等)应该对扩展开放,对修改封闭。
可以把方法写成virtual,方便子类实现。
原文:https://www.cnblogs.com/xiaoguanqiu/p/10513418.html