我在优化登录代码的过程中,使用了观察者模式。比如可以使用Spring的事件机制或者guava提供的EventBus;
之前的登录代码是面条式的,一行代码处理一个对应的逻辑,比如,登录完成之后,记录日志,通知积分服务增加积分,通知统计服务增加登录次数,变更日活;
使用观者模式之后,发一个登录成功的消息,在监听者中处理不同的逻辑操作。简化了代码,可维护性,可扩展性得到了提高。
最后可以盘点一下设计模式的分类和列举。如本篇的title图。
装饰器模式:java.io中的流处理;
建造者模式:Http2/client的构建;
单例模式:? Runtime类, 单例模式主要在高并发的情况下,需要加入双检锁,或者直接使用枚举单例的方式。
工厂模式: BeanFactory, ApplicationContext中的对象创建;
观察者模式: 各种事件的发布和通知
模板模式: JdbcTemplate
AOP: 综合了代理,装饰器,适配器模式
本篇按照我的经验回答了工作中的设计模式例子,同时延伸到设计模式的分类和列举,如果工作中实在想不出来用到了哪些设计模式,
可以以jdk,spring中使用到的设计模式为例剖析一下设计模式的使用以及带来的好处。
原创不易,转载请注明出处。
原文:https://www.cnblogs.com/snidget/p/12574249.html