简单说说我在写代码的时候用到过的设计模式。
1. 工厂模式
创建产品:抽象产品父类、产品子类,根据产品编码,创建不同的产品子类实例。
2. 状态模式
根据状态改变,切换行为模式。例如在权限管理中,刚注册时,只有查看自己资料的权限;开通产品后,创建相应的权限。
3. 观察者模式
或者说是消息订阅模式。监听器管理订阅事件,将监听器注册到事件总线。生产者用事件总线发布消息,事件总线触发监听器。
用Google guava的EventBus实现。
4. 单例模式
对于“没有属性”或者属性值为静态类型的类,可以设计成单例。Spring 容器创建的Bean默认是单例。
5. 代理模式
AOP,面向切面编程是一种代理模式。代理类实现被代理对象的方法,代理方法中调用目标方法,在调用前后增加代码逻辑。
6. 模板模式
同一系列的产品,有相同的操作,如创建、消费、还款、分期……但是每种操作具体的动作不同。用父类定义有那些操作,操作顺序,由子类实现具体的操作。
对工作做总结,发现原来还是有点高大上的。