软件七大设计原则
1、单一职责
定义:每个类应该只有一个引起它变化的原因。
解释:一个类只负责一个功能,这样可以减少类之间的耦合,提高系统的可维护性和可扩展性。
2、开闭原则
定义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
解释:应通过扩展来实现新的功能,而不是通过修改现有代码来实现,这样可以减少引入新的错误。
3、里式替换原则
定义:子类对象必须能够替换父类对象,并且不会导致程序出错。
解释:子类应当能够替换其父类,且子类行为应与父类一致,这样才能保证系统的正确性和稳定性。
4、依赖倒转原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。
解释:通过依赖抽象(接口或抽象类)而不是具体实现,可以提高系统的灵活性和可扩展性。
5、接口隔离原则
定义:客户端不应该依赖于它不使用的接口。
解释:应当为每一个类提供专门的接口,而不应该强迫类去实现一些用不到的接口。
6、迪米特法则
定义:一个对象应当对其他对象有最少的了解,只与直接的朋友通信。
解释:减少对象之间的耦合,提高系统的可维护性。
7、合成复用原则
定义:优先使用组合而不是继承来实现代码复用。
解释:使用组合可以减少类之间的耦合,提高系统的灵活性。
三大类
一:创建者模式(5种)
1、单例模式
2、原型模式
3、工厂方法
4、抽象工厂
5、建造者
二:结构型模式(7种)
1、代理
2、适配器
3、桥接
4、装饰
5、外观
6、享元
7、组合
三:行为型模式(11种)
1、模版方法
2、策略
3、命令
4、职责链
5、状态
6、观察者
7、中介者
8、迭代器
9、访问者
10、备忘录
11、解释器