目的:可重用、易理解、可靠。
参考文章:https://blog.csdn.net/jason0539/article/details/44956775
六大设计原则
单一职责原则,一个类只有一个引起它变化的原因。高内聚、低耦合的指导方针
开闭原则,对扩展开放,对修改关闭。抽象化是关键,接口或抽象类
里氏替换原则,引用基类(父类)的地方必须能透明地使用其子类的对象。实现开闭原则的重要方式
依赖倒置原则,面向抽象编程。依赖注入 实现,构造注入,设值注入(Setter注入)和接口注入。
接口隔离原则,客户端不应该依赖那些它不需要的接口。接口尽量小而细
迪米特法则,最少知道原则。
设计模式的目的:可读性、可扩展性、复用性、可维护性
设计模式分为三大类
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。整体关系如下:
创建型模式
1.单例模式,确保一个类只有一个实例,并向系统提供该实例
优点:1,减少内存开销;2,减少性能开销;3,设置全局访问点,优化和共享资源访问。
使用场景:1,共享访问点,如web计数器;2,创建对象消耗过多资源,如访问io和数据库;3,Spring的bean是单例的,方便管理生命期。