美文网首页程序员
OO设计原则 和设计模式

OO设计原则 和设计模式

作者: 开心就好168 | 来源:发表于2017-07-17 11:06 被阅读0次

    所谓的 OO设计原则的目的 是 1. Extensibility;2. Flexibility;3. Pluggability

    1. 最小职责 原则:一个类做一个职责(角色);SRP

    2. 里氏替换原则:子类不能改变 父类的 契约,即 子类不能override 父类的方法, 可以有条件 overload;输入参数更宽松, 返回参数 更严格;LSP

    3. 依赖倒置原则:面向接口,所有的 底层类和高层类(具体业务逻辑)都依赖上层的 接口定义;DIP

    4. 最小接口原则: 接口或抽象类的 定义 要 包含尽量少的 方法声明;ISP

    5. 迪米特原则:对依赖的对象了解尽量少的信息;通过中间层的 对象了解;

    6. 组合/聚合原则:多用组合,少用继承;因为 组合可用更灵活的“复用”对象所属类的 代码,并且可用在runtime(运行时)动态改变对象的行为; 使用继承则子类全盘接受 父类的 方法实现(遵守里氏替换原则),并且无法运行时动态改变方法实现;所以 需要 “封装变化”,再 组合之; strategy 模式 很好的体现了这个原则;

    7. 开闭原则:软件代码(类级别)对修改关闭,对扩展开放;这个是理论上的;OCP

    实际的设计/开发过程应该是: 先做领域模型,理解业务上要做什么事情,期望拿到什么价值;这个阶段切忌思考 如何抽象接口/类,如何设计类;  第二 考虑 设计层面有哪些需要抽象,有哪些依赖,具体方法接口如何设计;  最后才考虑 用哪种模式,那个包来实现;

    相关文章

      网友评论

        本文标题:OO设计原则 和设计模式

        本文链接:https://www.haomeiwen.com/subject/wxjfkxtx.html