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

只有一个页面的网站十大成功营销策划案例

只有一个页面的网站,十大成功营销策划案例,iis配置网站,dw软件是做什么用的文章目录 前言一、观察者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 List<Observer> 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 List<ObserverEnum> 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();// 创建观察者对象列表List<ObserverEnum> observerEnumList = ObserverEnum.getObserverEnumList();// 观察者对象全部注册到主题对象observerEnumList.forEach(observer->observer.register(subject));// 主题对象通知所有观察者对象状态变化subject.notifyObservers("主题对象状态发生变化!");}
}

使用枚举,将观察者注册到订阅的主题种


2.观察者模式测试运行结果

运行程序,得到以下结果

观察到主题对象的状态变化,具体类收到通知:主题对象状态发生变化!
观察到主题对象的状态变化,具体类收到通知:主题对象状态发生变化!
http://www.yidumall.com/news/18554.html

相关文章:

  • 网站推广行业赚钱吗b站推广网站2024年
  • 唯品会 只做特卖的网站深圳博惠seo
  • dede手机网站制作搜索关键词热度
  • 网站推广公司招聘云南新闻最新消息今天
  • 德阳 网站建设今天新闻头条新闻
  • 站群系统程序百度网站管理员工具
  • 襄阳网站制作获客渠道有哪些
  • 做系统那个网站好百度竞价排名公式
  • wordpress大神宁波seo网络推广多少钱
  • 可以做流程图的网站最近的新闻热点
  • 做系统软件的网站网络seo
  • 网站开发需要学习seo交流qq群
  • 国外网站设计师仿站定制模板建站
  • 做网站的空间网络口碑推广公司
  • 网站建设优化公司哪家好热门网站
  • 品牌广告安卓系统优化大师
  • wordpress备案号格式网站seo优化建议
  • 犀牛云做的网站好不好营销与销售的区别
  • 网站网站开发的公司seo入门教程网盘
  • 网站管理员要干些什么seo教程排名第一
  • 义乌兼职网站建设公司地址怎么弄在百度上显示
  • 温州市企业网站制作老王搜索引擎入口
  • app开发制作全过程淘宝seo搜索优化
  • 网站做的一样算侵权吗网站优化公司怎么选
  • 深圳网站建设小程序品牌seo是什么意思
  • 在家有电脑怎么做网站设计网站用什么软件
  • 专门做家纺的网站自己创建个人免费网站
  • 长沙自适应网站制作市场营销策划方案3000字
  • 昆明网站制作方案定制网站推广seo设置
  • 新闻网站架构浙江百度代理公司