敏捷的主要原则:
一,开放-封闭原则(The Open-Close Principle):对扩展是开放,对更改是封闭,关键在抽象。
实例:抽象出Copy的输入与输出模块,只将变动订单抽象出来。
软件最重要的变化是需求。
二,单一职责原则: 职责的意思--导致变化的原因。这个原则是想让变化不一致的设计尽量分开来,比如一个类只实现一个单一的功能。
三,Liskov 替换原则(LSP):子类型必须能够替换掉它们的基类型
四,依赖倒置原则(DIP)
a,高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
b,抽象不应该依赖于细节,细节应该依赖于抽象
五,接口隔离原则(ISP)
六,COMMAND模式可以应用于数据库事务操作、设备控制、多线程核心以及GUI的do/undo管理。有人认为COMMAND模式不符合面向对象的思维范式,因为它对函数的关注超过了类,但在实际软件开发中,COMMAND模式是非常有用的。
七,TEMPLATE METHOD模式和STRATEG模式都可以用来分离高层的算法和低层的具体实现细节,都允许高层的算法独立于它的具体实现细节重用。
八,Singleton模式使用私有构造函数,一个静态变量和一个静态方法对实例化进行控制和限制。Monostate模式只是简单地把对象的所有变量变成静态的。