软件设计七大原则是一组被广泛认可的指导方针旨在帮助开发者构建高内聚、低耦合、易维护、易扩展的软件系统。这七原则是学习设计模式的前置基础通常七原则被分为两组第一组SOLID原则面向对象设计的五大核心原则关注类和模块的内部设计以及他们之间的顶层依赖关系1.单一职责原则一个类只负责一项职责避免“万能类”。2.开闭原则对扩展开放对修改关闭。尽量通过新增代码扩展功能而非修改现有代码。3.里氏替换原则子类对象必须能够替换父类对象且程序逻辑不受影响。4.接口隔离原则接口要小而专客户端不应被迫依赖它不需要的接口。胖接口应拆分为多个专门的小接口。5.依赖倒置原则依赖抽象不依赖具体实现高层模块不应依赖底层模块两者都应该依赖抽象接口/抽象类抽象不依赖细节细节依赖抽象。第二组辅助性经典原则对象间的组合与复用方式6.迪米特法则最少知识原则一个对象应尽可能少与其他对象发生相互作用即减少类之间的耦合7.合成复用原则尽量使用对象组合聚合方式实现代码复用而不是使用继承因为组合耦合度更低更灵活
