单例模式
单例模式即全局只有一个对象实例,可以通过锁的方式来实现,例如在一个类中声明一个对象,然后检查这个对象是否为空,如果不为空则加锁后实例化该对象,再解锁。即可保证只有一个对象实例。Spring的Bean管理默认就是单例模式。
工厂模式
工厂模式即根据不同的业务场景创建出不同的对象。Spring的IOC就是使用了工厂模式来管理Bean的声明周期。我们在项目中也有可能经常会用到工厂模式,例如针对不同的输入框组件做不同的校验,在程序开始时我们就可以使用工厂模式将实现的校验接口的不同输入框组件对应的对象给实例化出来,等待调用的时候直接使用。
代理模式
代理模式即利用反射的原理为对象创建一个代理对象,调用该对象前都先调用代理对象的接口,再由代理对象调用原对象。Spring的AOP就是通过代理模式来实现的,使用了注解的方法都会生成一个代理对象并放到Spring容器中,当方法被调用时,Spring实际上调用的是代理对象的方法。
装饰器模式
装饰器模式即在保留原有的方法上进行额外的扩展。通常采用抽象类的方式与原对象实现相同的接口,叠加在一起达到修改原对象的功能。可以避免继承(extend)产生的继承爆炸的问题。
策略模式
策略模式即针对一个动作有多重不同的实现策略,例如不同的输入框组件类型的校验规则不一样,单选框和多选框以及字典都需要实现校验validate方法,我们就可以抽象出一个公共组件类,然后针对不同类型的输入框分别实现这个公共组件类的validate方法。