- 常用设计模式
创建型设计模式
单例模式:只创建一次实例,节省系统开销。
工厂模式:分为简单工厂模式,工厂方法模式和抽象工厂模式。简单工厂模式就是根据传入的参数返回一个实例,而工厂方法模式就是定义一个工厂接口,然后再由实现类来继承接口,来实现多态。抽象工厂模式提供一个接口里面有多个工厂的接口,可以实现多个不同的产品实例。
行为型
观察者模式:定义了对象之间的一对一或一对多的依赖,当一个对象改变时,它的所有依赖者都会收到通知并自动更新。
结构型
适配器模式:定义一个包装类,用来包装不兼容接口的对象。
代理模式:就是首先有一个服务接口,然后有一个真实对象实现了这个接口,然后一个代理对象中调用了这个真实对象。这个是静态代理模式,有时候一个代理对象要实现多个真实对象,就可以利用反射机制,进行动态代理。
- 设计模式 具体到一个模式的应用
1单例模式 Spring的bean就是单例模式
2代理模式 Spring AOP Mybatis中的Mapper动态代理
3观察者模式: Java Swing控件 Spring中的listener 教师给学生发送作业通知
4适配器模式:
5工厂模式
(1)简单工厂 Spring的BeanFactory
(2)工厂方法模式
(3)抽象方法模式
- 工厂方法模式和抽象工厂模式区别
工厂方法模式就只有一个抽象产品类
而抽象工厂模式可以实现多个抽象产品类。
- 抽象简单工厂区别
简单工厂直接返回一个实例。
抽象工厂返回多个抽象产品类。