当前位置: 首页 > news >正文

图片下载网站关于外贸的网站

图片下载网站,关于外贸的网站,网站设计与网页制作招聘,门户网站的优缺点文章目录 前言一、观察者1.定义一个观察者接口2.察者接口具体实现类 二、主题1.定义一个主题接口2.主题接口具体实现类 三、枚举维护观察者1.定义枚举类维护观察者 四、观察者模式测试1.定义观察者模式测试接口2.观察者模式测试运行结果 前言 本文介绍使用枚举的方式实现的观察… 文章目录 前言一、观察者1.定义一个观察者接口2.察者接口具体实现类 二、主题1.定义一个主题接口2.主题接口具体实现类 三、枚举维护观察者1.定义枚举类维护观察者 四、观察者模式测试1.定义观察者模式测试接口2.观察者模式测试运行结果 前言 本文介绍使用枚举的方式实现的观察者模式简单易用容易维护非常适合日常的开发使用。 一、观察者 1.定义一个观察者接口 // 定义一个观察者接口用于观察主题对象的状态变化 public interface Observer {// 发布消息void update(String message);}2.察者接口具体实现类 package com.jareny.jave.design.observer.object.base;// 实现观察者接口的具体类用于观察主题对象的状态变化 public class ConcreteObserver implements Observer{Overridepublic void update(String message) {System.out.println(观察到主题对象的状态变化具体类收到通知 message);} }二、主题 1.定义一个主题接口 package com.jareny.jave.design.observer.object.base;// 定义一个主题接口被观察者接口用于通知观察者对象状态变化 public interface Subject {// 注册观察者void registerObserver(Observer observer);// 删除观察者void removeObserver(Observer observer);// 通知观察者void notifyObservers(String message);} 2.主题接口具体实现类 package com.jareny.jave.design.observer.object.base;import java.util.ArrayList; import java.util.List;// 实现主题接口被观察者接口的具体类用于通知观察者对象状态变化 public class ConcreteSubject implements Subject {private ListObserver observers new ArrayList();Overridepublic void registerObserver(Observer observer) {observers.add(observer);}Overridepublic void removeObserver(Observer observer) {observers.remove(observer);}Overridepublic void notifyObservers(String message) {observers.forEach(observer-observer.update(message));}} 三、枚举维护观察者 1.定义枚举类维护观察者 package com.jareny.jave.design.observer.object.enums;import com.jareny.jave.design.observer.object.base.ConcreteObserver; import com.jareny.jave.design.observer.object.base.Observer; import com.jareny.jave.design.observer.object.base.Subject; import lombok.AllArgsConstructor; import lombok.Getter;import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream;Getter AllArgsConstructor public enum ObserverEnum {/*** 第一个观察者*/Observer1(张三,学生){Overridepublic void register(Subject subject) {// 创建观察者对象1Observer observer new ConcreteObserver();// 主题对象注册观察者对象1subject.registerObserver(observer);}},/*** 第二个观察者*/Observer2(李四,老师){Overridepublic void register(Subject subject) {// 创建观察者对象2Observer observer new ConcreteObserver();// 主题对象注册观察者对象2subject.registerObserver(observer);}},;// 名称private String name;// 类型private String type;/*** 注册观察者* param subject*/public abstract void register(Subject subject);/*** 获取所以的观察者* return*/public static ListObserverEnum getObserverEnumList(){return Stream.of(values()).collect(Collectors.toList());}}四、观察者模式测试 1.定义观察者模式测试接口 package com.jareny.jave.design.observer.object.enums;import com.jareny.jave.design.observer.object.base.ConcreteObserver; import com.jareny.jave.design.observer.object.base.ConcreteSubject; import com.jareny.jave.design.observer.object.base.Observer; import com.jareny.jave.design.observer.object.base.Subject;import java.util.List;public class ObserverEnumExample {public static void main(String[] args) {// 创建主题对象Subject subject new ConcreteSubject();// 创建观察者对象列表ListObserverEnum observerEnumList ObserverEnum.getObserverEnumList();// 观察者对象全部注册到主题对象observerEnumList.forEach(observer-observer.register(subject));// 主题对象通知所有观察者对象状态变化subject.notifyObservers(主题对象状态发生变化);} }使用枚举将观察者注册到订阅的主题种 2.观察者模式测试运行结果 运行程序得到以下结果 观察到主题对象的状态变化具体类收到通知主题对象状态发生变化 观察到主题对象的状态变化具体类收到通知主题对象状态发生变化
http://www.pierceye.com/news/938456/

相关文章:

  • 做英文兼职的网站四川路桥建设股份有限公司网站
  • 电商网站开发的意义传统营销
  • 怎么自己创建网站或者app足球世界排名
  • 营站快车代理平台跑腿网站开发
  • 免费自助建站系统下载html5手机网站制作
  • 工信部网站怎么查网址邹平县建设局网站
  • 郑州有学网站制作网站背景修改
  • 免费建建网站域名没过期 网站打不开怎么办
  • 单页企业网站模板WordPress社团展示
  • 网站建设需要具备什么条件网站首页新世纪建设集团有限公司
  • 网站怎样做超链接si设计公司
  • 婚恋网站排名前三wordpress首页设置成文章还是页面
  • 制作网站 优帮云一键提交各大收录
  • 网站要怎么做才专业2022电商平台用户排行榜
  • 男男做暧网站免费网站建设期末论文
  • 电子政务门户网站建设wordpress 导入
  • 江苏建设监理协会网站网站建设siteserver
  • 家庭做网站做网站服务器可以挂到外地么
  • 做相册的网站 网易wordpress云服务器
  • 国内网站没备案自己做外贸购物网站
  • 国外h5网站模板下载长沙快速建站模板
  • 湛江网站建设方案找工程项目
  • 孝感住房和城乡建设部网站深圳市做网站公司
  • 网站开发环境配置做一个信息网站多少钱
  • 小企业网站建设的小知识wordpress显示关闭评论框
  • vue.js 可以做网站吗注册一个公司一年费用
  • 软件开发网站策划方案百度网站怎么用
  • 网站分页符素材wordpress自定义密码
  • 建设银行公积金预约网站首页大宗商品交易平台政策
  • 口碑好的秦皇岛网站建设哪里有沙漠网站建设