随笔分类 - 敏捷软件开发
记录《 敏捷软件开发 原则、模式与实践(c#版)》这本书中的一些摘要。
摘要:FACTORY 模式
——《敏捷软件开发 原则、模式与实践(c#版)》第29章
柯立芝(1872-1933)美国前总统
那个建造工厂的人建造了一座宇宙......
依赖倒置原则(DIP)告诉我们应该优先依赖于抽象类,而避免依赖于具体类。当这些具体类不稳定时,更应该如此。因此,下面的代码片段违反了这个原则:
阅读全文
摘要:ACTIVE OBJECT 模式
——《敏捷软件开发 原则、模式与实践(c#版)》第21章
ACTIVE OBJECT 模式是建立在COMMAND模式的基础上。这是实现多线程控制的一项古老的技术。该模式有多种使用方式,为许多工业系统提供了一个简单的多任务核心。
阅读全文
摘要:COMMAND 模式
——《敏捷软件开发 原则、模式与实践(c#版)》第21章
描述
COMMAND模式是最简单、最优雅的模式之一。
如图1-1所示,COMMAND模式简单的几乎可笑。该模式仅由一个具有唯一方法的接口组成,这似乎很荒谬?代码1-1 给出了图1-1对应的代码。
阅读全文
摘要:《敏捷软件开发 原则、模式与实践(c#版)》
第11章 DIP:依赖倒置原则
传统的软件开发方法,比如结构化分析和设计,总是倾向于创建一些高层模块依赖于低层模块、策略依赖于细节的软件结构。实际上这些方法的目的之一就是要定义子程序层次结构,该层次结构描述了高层模块怎样调用低层模块。然而一个设计良好的面向对象的程序,其依赖程序结构相对于传统的过程式方法设计的通常结构而言就是被“倒置”了。
阅读全文
摘要:《敏捷软件开发 原则、模式与实践(c#版)》
第10章 LSP:LisKov替换原则
OCP背后的主要机制是抽象和多态。在静态类型语言中,比如C#,支持抽象和多态的关键机制之一是继承。正是使用了继承,我们才可以创建实现其基类中抽象方法的派生类。
是什么设计规则在支配着这种特殊的继承用法呢?最佳的继承层次的特征又是什么呢? 怎样的情况会使我们创建的类层次结构掉进不符合OCP的陷阱中去呢?这些正是LisKov替换原则(LSP)要解答的问题。
阅读全文
摘要:描述
考虑如下代码
Employee e = DB.GetEmployee("Bob");
if(e!=null && e.IsTimeToPay(today))
{
e.Pay();
}
阅读全文
摘要:《敏捷软件开发 原则、模式与实践(c#版)》----第9章 OCP:开放--封闭原则----定义:"软件实体(类、模块、函数等)应该是可以扩展的,但是不可以修改。"(P93)
阅读全文
摘要:《敏捷软件开发 原则、模式与实践(c#版)》--第8章 SRP:单一职责原则 --
“SRP:一个类应该只有一个发生变化的原因。”(P89)
“在SRP中,我们把职责定义为变化的原因。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。” (P90)
阅读全文
浙公网安备 33010602011771号