java观察者模式
案例:
- 定义被观察者
/**
* @author Gjing
* 抽象被观察者
**/
abstract class AbstractSubject {
/**
* 观察者对象的集合
*/
private List<Listener> listenerList = new ArrayList<>();
/**
* 添加观察者
*
* @param listener 观察者
*/
void add(Listener listener) {
listenerList.add(listener);
}
/**
* 通知所有观察者
*/
void notify

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
java策略模式
如果都使用if-else的话,就会使用代码变的臃肿,而且难以复用。那我们就可以根据不同的情况,将不同的方式封装成不同的策略,将策略与它的使用对象分离开来。 案例: 定义注解,标注范围 /** * @author Gjing * 价格范围注解 **/ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface PriceRegion { int min() default 0; int max() default Integer.MAX_VALUE; } 具体策略 /** * @author Gjing * 抽象策略 **/ public interface Price { BigDecimal getPri
-
下一篇
golang的filepath包的几个函数的细微区别
Clean(),Dir(),ABS()配合Walk()使用的时候,由于前三个函数返回值的细微差别,会造成遍历目录的时候,得到的结果不一样.filepath.Abs("./myDoc")//返回所给路径的绝对路径这时候遍历没有问题, 2019/06/12 10:50:31 监控 : 1, D:\workspace\go-wikitten\src\myDoc 2019/06/12 10:50:31 文件 : 2, myDoc\.gitkeep 2019/06/12 10:50:31 文件 : 3, myDoc\Sample HTML document.html 2019/06/12 10:50:31 文件 : 4, myDoc\Sample Markdown document.md 2019/06/12 10:50:31 监控 : 5, D:\workspace\go-wikitten\src\myDoc\code snippets (expand me!) 2019/06/12 10:50:31 文件 : 6, myDoc\code snippets (expand me!)\Bash....
相关文章
文章评论
共有0条评论来说两句吧...