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

免费网站建立汕头网站建设培训公司

免费网站建立,汕头网站建设培训公司,相亲网站用什么做的,WordPress使用微博外链文章目录 前言一、观察者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.hkea.cn/news/14386540/

相关文章:

  • 黄冈市网站建设建设文明网站包括哪些内容
  • 网站开发word互联网营销怎么做
  • 铁道部建设监理协会网站查询怎么建立
  • 巴中建设银行官方网站织梦wap网站模版
  • 软件工程中做视频网站网件路由器app 中文版
  • 佛山优化网站推广电脑字体怎么导入到wordpress
  • 网站推广软文代发查询网站内页关键词排名
  • 网站建设样板做网站的专业
  • 县城购物网站创建一个网站所需的成本
  • 西安市城乡建设管理局网站6做网站服装app
  • 网站提高内容的丰富度创意大学网站方案设计
  • 昆明北京网站建设济宁企业做网站
  • 聊城网站建设价格网站开发常用png
  • 兰州西固区网站建设平台电商网站建设咨询
  • 湖北网站建设没有设计稿做网站
  • 公司网站建设的项目工作分解结构广东官网建设公司
  • 知乎的网站建设和网站运营无锡做网站公司哪家比较好
  • 一个服务器可以做几个网站物流建设网站
  • 昆明网站建设推广北京建设工程二级市场网站
  • 网站模块设计软件如何注册个人工作室
  • 整容网站模板如果做京东优惠卷的网站
  • 关于工程项目建设的网站wordpress菜单导航栏透明
  • 网站功能组件wordpress cms列表
  • 免费做公司电子画册的网站中山网站建设文化价格
  • 三合一网站管理系统外链兔
  • 做执法设备有哪些网站瑞安做网站多少钱
  • 创一个网站怎样赚钱做系统和做网站哪个简单一些
  • 阿里云网站模板送域名深圳展览公司排行
  • 专做海报设计的网站绵竹移动网站建设
  • 福州快速网站建设wordpress获取视频缩略图