设计模式
文章平均质量分 71
leeon_l
一个人如何被定义取决于他如何面对那些身不由己的环境,你希望成为一个什么样的人?随波逐流还是成为自己?不管你在做什么,全力投入且保持坚强……马拉松还在继续!
展开
-
从模板方法模式深入理解Java抽象类
阿里面试的时候被问到:接口不能实现,必须由抽象类实现的典型场景?这不就是典型的模板方法模式嘛!钩子方法和具体方法的存在使抽象类与接口具有了最主要的差异:接口主要体现的是一种规范,实现接口的类只能去实现这种规范,但用户通过与统一接口对接实现了规范与实现的分离,极大地降低了模块间的耦合度;而通过模板方法模式使用抽象类,可以继承某些具体方法,实现了规范并增加了代码的可重用性,而继承抽象方法与钩子方法使实现类可以灵活地扩展抽象模板类,接口并不能有这样的灵活扩展特性,是非常常用而有意义的一种设计模式!原创 2016-05-22 17:12:51 · 3542 阅读 · 1 评论 -
《JAVA与模式》之策略模式——我看过最好的一篇策略模式博文
《JAVA与模式》之策略模式(转载自http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html)在阎宏博士的《JAVA与模式》一书中开头是这样描述策略(Strategy)模式的: 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使转载 2016-08-09 11:30:33 · 28321 阅读 · 9 评论 -
设计模式总结(未完待续)
一、策略模式(可参看http://blog.csdn.net/zhangliangzi/article/details/52161211)应用场景:多种策略、算法应用于同一用途(比如都是排序算法),不同的情况需要用不同的策略(比如内部排序用快排,外部排序用归并),由客户端去决定具体调用哪一个策略或算法。一般的实现形式:每种策略类实现同一个接口,实现算法。由一个Context类通过构造方法引原创 2016-08-11 08:22:24 · 825 阅读 · 0 评论 -
单例模式三种模式,饿汉、饱汉、双重锁模式,实例及优劣详解
单例模式是一种很基础的设计模式,在面试时可能会被要求手写不同类型的单例模式代码,主要有三种模式:1、饿汉模式://饿汉模式,很饿很着急,所以类加载时即创建实例对象public class Singleton1 { private static Singleton1 singleton = new Singleton1(); private Singleton1(){原创 2016-09-05 11:21:57 · 23654 阅读 · 4 评论 -
通过实际业务场景理解后端接口的幂等性
写在前面:之前在设计接口时因经验尚浅,并未过多考虑幂等性,但这两天出现的一个线上问题让我认识到了某些情况下接口幂等性的重要性;非幂等场景: 服务A将单据A信息通过RPC远程过程调用传给下游服务B接口(非幂等接口)用于生成关联单据B,服务B接口会校验是否已经接收过单据A,如果已接收过,会报错『重复的单据』,如果未接收过,则生产关联单据B并写库,将结果返回服务A,服务A收到结果后修改此单据状态,...原创 2018-03-30 17:09:16 · 1910 阅读 · 3 评论