zoukankan      html  css  js  c++  java
  • 软件设计原则

    一、开闭原则(Open Closed Principle,OCP):当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

    二、里氏替换原则(Liskov Substitution Principle LSP):子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。

    三、依赖倒置原则(Dependency Inverse Principle DIP):高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,其核心思想要面向接口编程,不要面向实现编程。

    (1)每个类尽量提供接口或抽象类,或者两者都具备。

    (2)变量的声明类型尽量是接口或者是抽象类。

    (3)任何类都不应该从具体类派生。

    (4)使用继承时尽量遵循里氏替换原则。

    四、单一职责原则(Single Responsibility Principle,SRP):发现类的不同职责并将其分离,再封装到不同的类或模块中。

    五、接口隔离原则(Interface Segregation Principle,ISP):尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。

    六、迪米特法则(Law of Demeter,LoD):如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。

    (1)在类的划分上,应该创建弱耦合的类。类与类之间的耦合越弱,就越有利于实现可复用的目标。。

    (2)在类的结构设计上,尽量降低类成员的访问权限。

    (3)在类的设计上,优先考虑将一个类设置成不变类。

    (4)在对其他类的引用上,将引用其他对象的次数降到最低。

    (5)不暴露类的属性成员,而应该提供相应的访问器(set 和 get 方法)。

    (6)谨慎使用序列化(Serializable)功能。

    七、合成复用原则(Composite Reuse Principle,CRP):如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。

    这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中,开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原则告诉我们要优先使用组合或者聚合关系复用,少用继承关系复用。

  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/skyblue123/p/13192532.html
Copyright © 2011-2022 走看看