设计模式结构图
设计原则
- 职责单一原则
- 接口隔离原则
一个类对另一个类的依赖应该建立在最小的接口上
- 依赖倒置
面向接口编程,参数或变量,依赖注入,使用父类
- 开闭原则
对扩展开放(对提供方),对修改关闭(对使用方)
用抽象构建框架,用实现扩展细节
- 里氏替换原则
继承时尽量不要重写父类的方法,引用基类的地方必须能透明地使用其子类的对象
- 迪米特原则
最少知道原则,类间少交互
- 合成复用原则
原则是尽量使用合成/聚合的方式,而不是使用继
设计模式介绍
单例模式
- 饿汉式,应用程序启动就加载。
- 懒汉式,调用时加载,线程不安全
- 懒汉式,线程安全+synchronized
- 懒汉式,双检锁,volatile+synchronized
- 懒汉式,内部类
建造者模式
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。
例子:StringBuilder
原型模型
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能
Java里面的clone方法
模板模式
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
这3只企鹅,由于每天吃的都一样,睡觉也都是站着睡,但是打豆豆的方式却不同,所以我们可以将“吃饭,睡觉,打豆豆”