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

    架构设计六大原则:

    单一职责、开放封闭、里氏替换、最少知识、接口隔离、依赖倒置

    将以上六大原则的英文首字母拼在一起就是SOLID(稳定的),所以也称为SOLID原则。

    一、单一职责原则

    永远不应该有多于一个原因来改变某个类。

    理解:对于一个类而言,应该仅有一个引起它变化的原因。

    二、开放封闭原则

    软件实体扩展应该是开发的,但对于修改应该是封闭的。

    理解:对扩展开放,对修改封闭。可以去扩展类,但不要去修改类。

    三、里氏替换原则

    理解:父类一定能够被子类替换。

    四、最少知识原则

    只与你最直接的对象交流。

    理解:高内聚,低耦合。做系统设计时,尽量减少依赖关系。

    五、接口隔离原则

    一个类与另一个类之间的依赖性,应该依赖于尽可能小的接口。

    理解:不要对外暴露没有实际意义的接口。用户不应该依赖它不需要的接口。

    六、依赖倒置原则

    高层模块不应该依赖于低层模块,它们应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

    理解:应该面向接口编程,不应该面向实现类编程。

    其他原则:

    组合/聚合复用原则:当要扩展类的功能时,优先考虑使用组合,而不是继承。

    无环依赖原则:A依赖B,B依赖C,C依赖A,此时出现循环依赖,设计中避免该问题,可以通过引入“中介者模式”解决。

    共同封装原则:应该将易变的类放在同一个包里,将变化隔离出来。该原则时“开放封闭原则”的衍生。

    共用重用原则:如果重用了包中的一个类,那么也就相当于重用了包中的所有类,我们要尽可能减小包的大小。

    好莱坞原则:控制反转、依赖注入。不需要主动创建对象,而是由容器帮我们来创建并管理这些对象。

    保持它的简单与傻瓜:保持系统界面简洁,功能实用,操作方便。

    关注点分离:将一个复杂的问题分离为多个简单的问题,然后逐个解决。

    你不需要它:不要一开始就把系统设计得非常复杂,不要陷入过度设计的深渊,让系统足够简单,而又不失扩展性。

    放弃安逸,持续努力——成长
  • 相关阅读:
    生物学上描述DNA/RNA的长度常用的kb、nt、bp是指什么
    置换检验代码, matlab codes for permutation tests
    MATLAB命令大全——以字母顺序进行分类
    2011年春季C语言课程设计指导书
    C/C++语言课程设计任务书
    hibernate 自动生成数据库表
    利用Tomcat的用户名和密码构建“永久”后门
    flex成品作不知道有哪位大神能看懂是干嘛的
    wikioi1014 装箱问题
    怎样把USB键盘接到Android手机上
  • 原文地址:https://www.cnblogs.com/MarsPGY/p/15549450.html
Copyright © 2011-2022 走看看