这 7 种设计原则是软件设计模式必须尽量遵循的原则,是设计模式的基础。在实际开发过程中,并不是一定要求所有代码都遵循设计原则,而是要综合考虑人力、时间、成本、质量,不刻意追求完美,要在适当的场景遵循设计原则。这体现的是一种平衡取舍,可以帮助我们设计出更加优雅的代码结构。

    各种原则要求的侧重点不同,下面我们分别用一句话归纳总结软件设计模式的七大原则,如下表所示。

    设计原则 一句话归纳 目的
    开闭原则 对扩展开放,对修改关闭 降低维护带来的新风险
    依赖倒置原则 高层不应该依赖低层,要面向接口编程 更利于代码结构的升级扩展
    单一职责原则 一个类只干一件事,实现类要单一 便于理解,提高代码的可读性
    接口隔离原则 一个接口只干一件事,接口要精简单一 功能解耦,高聚合、低耦合
    迪米特法则 不该知道的不要知道,一个类应该保持对其它对象最少的了解,降低耦合度 只和朋友交流,不和陌生人说话,减少代码臃肿
    里氏替换原则 不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义 防止继承泛滥
    合成复用原则 尽量使用组合或者聚合关系实现代码复用,少使用继承 降低代码耦合


    实际上,这些原则的目的只有一个:降低对象之间的耦合,增加程序的可复用性、可扩展性和可维护性。

    记忆口诀:访问加限制,函数要节俭,依赖不允许,动态加接口,父类要抽象,扩展不更改。

    在程序设计时,我们应该将程序功能最小化,每个类只干一件事。若有类似功能基础之上添加新功能,则要合理使用继承。对于多方法的调用,要会运用接口,同时合理设置接口功能与数量。最后类与类之间做到低耦合高内聚。