• 设计模式6原则


    开闭原则(Open Close Principle)

    对扩展开放,对修改关闭。

    • 抽象约束,封装变化。

    里氏替换原则(Liskov Substitution Principle)

    任何超类出现的地方,子类一定可出现。

    • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法;
    • 子类中可以增加自己特有的方法;
    • 子类重载父类的方法时,前置条件(即方法的输入参数)要比父类的更宽松;
    • 子类实现父类的方法时,后置条件(即方法的输出/返回值)要比父类的更严格。

    依赖倒转原则(Dependencce Inversion Principle)

    针对接口编程,依赖于抽象而不具体实现。

    • 每个类尽量提供接口或/和抽象类;
    • 变量的声明类型尽量是接口或者抽象类;
    • 任何类都不应该从具体类派生;
    • 使用继承时尽量遵循里氏替换原则。

    接口隔离原则(Interface Segregation Principle)

    使用多个隔离的接口。

    • 接口尽量小,但是要有限度。一个接口只服务于一个子模块或业务逻辑;
    • 为依赖接口的类定制服务。类只提供需要的方法,屏蔽不需要的;
    • 拒绝接口固定化。不同的业务逻辑,接口的拆分标准就不同;
    • 提高内聚,减少对外交互。接口用最少的方法去完成最多的事情。

    迪米特原则(Demeter Principle)

    类与类最少知道,模块相对独立。

    • 类的划分上,创建低耦合的类;
    • 类的设计上,降低成员的访问权限;
    • 类的引用上,减少其他对象的引用次数;
    • 谨慎使用序列化(Serializable)功能。

    合成复用原则(Composite Reuse Principle)

    尽量使用合成/聚合,而不是继承。

  • 相关阅读:
    (15)树莓派系统安装和备份
    (0-0) 树莓派学习资料
    (14)树莓派
    (0-1) 树莓派常用软件及服务
    (13)flask搭建服务器
    (12)树莓派串口通信
    OpenCV 学习笔记(0)两幅图像标定配准
    OpenCV 学习笔记(9)RGB转换成灰度图像的一个常用公式Gray = R*0.299 + G*0.587 + B*0.114
    OpenCV 学习笔记(8)彩色图像RGB通道的分离、合并与显示
    Arduino OV7670 live image over USB to PC
  • 原文地址:https://www.cnblogs.com/wesson2019-blog/p/13738547.html
Copyright © 2020-2023  润新知