敏捷开发原则
yuanweihuayan
准备研究发布windows内核相关文章
展开
-
LSP原则
LSP(Liskov替换原则)定义:子类型必须能够替换掉它们的基类型问题:在使用OCP原则时,如果子类无法替换基类,而调用者却默认有这样的假设,造成程序错误的根源.启发式原则: ①派生类中的退化函数.(派生类将基类函数覆盖置空)②派生类抛出异常 注意:这里①只是通用的原则,实际上又是存在这种情况也满足LSP解决办法:提取原来继承体系的公共部分,将原来继承体系中的父子类从原创 2014-10-12 18:02:08 · 1349 阅读 · 0 评论 -
OCP原则
OCP(开放-封闭原则)定义:软件实体(类,模版,函数等),应该是可以拓展的,但是不可修改的.特征:①对拓展开放,即可以改变模块的功能②对更改封闭,即对模块进行拓展时,不必改动模块原有的代码或二进制方法:创建出固定却能描述一组任意个可能行为的抽象,而模块可以操作这类抽象体.由于模块依赖一个抽象体,因此更改可以是关闭的,同时通过这个抽象体派生,也可以拓展次模块的行为.理解:开放-原创 2014-10-12 16:59:33 · 1249 阅读 · 0 评论 -
SRP原则
SRP(单一职责原则) 就一个类而言,应该有且仅有一个引起它改变的原因.职责:变化的原因原因:如果一个类承担过多的职责,其中某个职责的变化可能会消弱或者抑制这个类完成其他职责的能力.个人理解:大多时候这个原则要遵循.但是不可能所有类都一成不变的使用这个原则.如果开始就分离职责,可能以后这块的需求没有多大变化,而职责的拆分必然造成不必要的复杂性.以后维护成本增加.初始原创 2014-10-12 11:16:44 · 1719 阅读 · 0 评论 -
ISP原则
ISP(接口隔离原则)定义:类的胖接口可以分解成多组方法,每组方法都服务于一组不同的客户程序原则:不应该强迫客户依赖于那些他们不使用的方法.理解:ISP是SRP的特殊实现.原创 2014-10-12 21:45:37 · 1174 阅读 · 0 评论 -
DIP原则
DIP(依赖倒置原则)定义:①高层模块不应该依赖于底层模块,二者都应该依赖于抽象② 抽象不应该依赖于细节,细节应该依赖于抽象启发式规则:①任何变量都不应该持有一个指向具体类的指针或引用②任何类都不应该从具体类派生③任何方法都不应该覆写它的任何基类中已经实现了的方法实现方式:①动态多态性:使用抽象类的多态实现②静态多态性:使用模版实现理解:LSP和DIP是OCP的原创 2014-10-12 20:52:39 · 1581 阅读 · 0 评论