敏捷设计(1)

拙劣设计的症状:

僵化性(ragidity): 设计难以改变。

脆弱性(fragility):设计易于遭到破坏。

牢固性(immobility):设计难以重用。

粘滞性(viscosity): 难以做正确的事情。

不必要的复杂性(needless complexity): 过分设计。

不必要的重复(needless repetition):滥用鼠标。

晦涩性(Opacity):混乱的表达。


设计原则

单一职责原则(the single responsibility principle) SRP

开放-封闭原则( the open-close principle) OCP

Liskov替换原则(the liskov subsititution principle) LSP

依赖倒置原则(the dependency inversion principle) DIP

接口隔离原则(the interface segregation interface) ISP


设计模式

command 模式  do

Templete 模式: 继承,把具体实现的细节交给对应的类来实现。

Strategy 模式 :策略模式,委托模式

singleton模式强调结构上的单一性,防止创造出多个实例;Monostate强制行为上的单一性,而没有强调结构方面的限制。

Null object 模式消除对null 检测的需要,简化代码。使用该模式,可以确保函数总是返回有效的对象,即使他们失败也是如此,这些失败的对象代表什么也不做。

薪水支付案例:第一次迭代开始


动静态模型的概念



结论:

在一次迭代开始前,在白板当中思考需要实现的用户素材。这种快速的设计大约持续一小时,如果产生了一些UML图,那么这些图会留在白板上面,或者被擦掉,通常不会保留这些UML图。会话的目的是为了发起思考,并为开发人员提供一个公共的、可以依据其展开工作的智力模型,而不是为了确定设计。

posted on 2015-04-01 23:24  KHacker  阅读(103)  评论(0编辑  收藏  举报