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条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Mario游戏-低调大师作品