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

win7dw做asp购物网站专业网站建设服务公司哪家好

win7dw做asp购物网站,专业网站建设服务公司哪家好,ios开发者账号多少钱一年,iosapp开发工具写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用#xff0c;主要是下面的UML图可以起到大作用#xff0c;在你学习过一遍以后可能会遗忘#xff0c;忘记了不要紧#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 观察者模式#xff08;Observ…写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用主要是下面的UML图可以起到大作用在你学习过一遍以后可能会遗忘忘记了不要紧只要看一眼UML图就能想起来了。同时也请大家多多指教。 观察者模式Observer又名发布-订阅模式publish-subscribe 是一种行为型模式。因为叫发布-订阅模式更容易理解所以下面说明时大多情况会使用发布-订阅这个名称。 目录 一、概述 1.1、直观的理解 1.2、主要角色 1.3、描述对象之间关系的UML图 1.4、适用场景 二、简单举例 2.1、对象之间的关系用UML图表示如下 2.2、Java代码如下 一、概述 1、观察者模式定义了一种一对多的依赖关系让多个观察者订阅者对象同时监听某一个主题发布者对象。这个主题发布者对象在状态发生变化时会通知所有观察者订阅者对象使它们能够自动更新自己。1.1、直观的理解 注关于发布者何时给订阅者通知更新这个需要结合实际情况来考虑  1.2、主要角色 发布者目标主题发布者的抽象类或接口 发布者类订阅者观察者订阅者的抽象类或接口 订阅者类 1.3、描述对象之间关系的UML图 1.4、适用场景 一个抽象模型有两个方面其中一个方面依赖另一个方面。可以将它们封装独立出来对一个对象的改变需要同时改变其他对象一个对象必须通知其他对象而且其他对象并不是固定不变的 二、简单举例 假设 客户端 要让 发布者 设置自己的状态为hello再然后通知 张三 和 李四 这两个 订阅者 。例子简单就不再详细分析了。你可以把这当做一个模板然后灵活使用 2.1、对象之间的关系用UML图表示如下 2.2、Java代码如下 订阅者的抽象类 abstract class Subscriber {public abstract void update();//接收发布者的消息 }发布者的抽象类 abstract class Publisher {private ListSubscriber list; //链表public Publisher() {//初始化this.list new LinkedList();}public void attach(Subscriber subscriber) { //增加订阅者list.add(subscriber);}public void detach(Subscriber subscriber) {//删除订阅者list.remove(subscriber);}public void notifySubscriber() {//通知订阅者for (Subscriber subscriber : list) {subscriber.update();}}private String publisherState;//发布者状态public String getPublisherState() {//得到发布者状态return this.publisherState;}public void setPublisherState(String publisherState) {//设置发布者状态this.publisherState publisherState;} } 具体的发布者A public class ConcretePublisherA extends Publisher{//发布者的其它方法 }具体的订阅者1 public class ConcreteSubscriber1 extends Subscriber {private String name;//订阅者名称private Publisher publisher;//发布者public ConcreteSubscriber1(String name, Publisher publisher) {//初始化this.name name;this.publisher publisher;}Overridepublic void update() {//接收发布者的消息System.out.println(订阅者是 this.name 发布者的状态为 this.publisher.getPublisherState());} } 主程序发起请求的类 public class Main {public static void main(String[] args) {Publisher publisher new ConcretePublisherA();Subscriber subscriber1 new ConcreteSubscriber1(张三, publisher);Subscriber subscriber2 new ConcreteSubscriber1(李四, publisher);publisher.attach(subscriber1);publisher.attach(subscriber2);publisher.setPublisherState(hello!);//通知订阅者publisher.notifySubscriber();} }这里就不再举例了可以把上面的Java例子复制到你本地运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的不存在bug可以直接运行。 如果觉得本文还不错就请点个赞给作者一点鼓励吧如果有建议也请评论指教和讨论
http://www.dnsts.com.cn/news/143585.html

相关文章:

  • 青海服装网站建设公司公司网站模板内容
  • 网站域名费用做公司官网找谁
  • 织梦书法网站模板万网网站空间费
  • 商城网站建设公司哪家好销售管理软件有哪些
  • 长沙 网站优化wordpress时间插件下载地址
  • html5修改器下载做网站优化的好处
  • 徐州企业网站设计群辉wordpress语言
  • 网站设计需求文档wordpress固定链接静态化后打不开
  • 提供企业网站建设方案网站中的搜索框图标怎么做的
  • 微信网站开发之前要学会什么wordpress页眉页脚
  • 网站导航栏三根横线怎么做的手机wap
  • 静态页面网站最新的产品代理有哪些
  • 网站策划编辑是干嘛的天津建设安全协会网站
  • 深圳设计功能网站钟表玻璃东莞网站建设
  • 个人可以做宣传片视频网站平面设计作品赏析
  • 建设企业网站个人网银怎样建设小游戏网站
  • 龙岗公司网站wordpress 邮件提醒功能
  • 网站建设公司电话销售做本地房产网站
  • 基于wordpress学校网站王烨张开
  • 天津网站优化公司电话wordpress破解防盗链
  • 郴州建设工程信息网站有什么好的网站做旅行计划
  • 怎样做影视网站不侵权学电商
  • 电子商务网站建设哪本教材比较适合中等专业学校用网站开发 合作协议
  • 微网站需要域名吗淘宝网淘宝网页版
  • 做自己点击网站提供专业网站小程序开发
  • 网站建设费用计入什么会计科目网站开发我们都能解决
  • 桂城网站制作crm客户管理系统简历
  • 为什么做图书管理网站装潢设计什么意思
  • 国外的建筑设计网站十大免费网站推广入口
  • wordpress站点搬家seo网站代码