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

portfolio做网站vue.js 做网站

portfolio做网站,vue.js 做网站,勉费申请做网站,专业做网站的公司想象你在社交媒体上关注(订阅)了一个名人或新闻频道(主题)。一旦他们发布新内容,所有关注者(观察者)都会收到通知。这个过程就很像观察者模式的工作原理。 生活场景类比 主题(Subj…

想象你在社交媒体上关注(订阅)了一个名人或新闻频道(主题)。一旦他们发布新内容,所有关注者(观察者)都会收到通知。这个过程就很像观察者模式的工作原理。

生活场景类比

  1. 主题(Subject):社交媒体上的名人或新闻频道,他们发布更新并通知所有关注者。
  2. 观察者(Observer):关注名人或新闻频道的用户,他们希望得到更新通知。
  3. 订阅:用户关注名人或新闻频道的行为,相当于观察者注册到主题。
  4. 通知:当有新内容发布时,社交媒体平台通知所有关注者,这一过程对应于主题状态改变时通知所有观察者。
  5. 取消订阅:用户取消关注,相当于观察者从主题注销。

设计模式解析

在这个类比中,社交媒体平台的后台系统就像是观察者模式中的框架,它允许用户(观察者)订阅他们感兴趣的内容源(主题)。主题不需要知道谁关注了它们,它们只需要在更新时将消息发送给社交媒体平台,平台则负责将这些更新分发给所有关注者。

代码实现类比

如果我们把这个类比转换成代码,那么可以这样来实现:

// 观察者接口
interface Follower {void update(String message);
}// 社交媒体名人类
class Celebrity {private List<Follower> followers = new ArrayList<>();private String name;public Celebrity(String name) {this.name = name;}public void postNewContent(String content) {System.out.println(name + " posted: " + content);notifyFollowers(content);}public void addFollower(Follower follower) {followers.add(follower);}public void removeFollower(Follower follower) {followers.remove(follower);}private void notifyFollowers(String content) {for (Follower follower : followers) {follower.update(content);}}
}// 具体观察者
class User implements Follower {private String username;public User(String username) {this.username = username;}@Overridepublic void update(String message) {System.out.println(username + " received an update: " + message);}
}// 客户端代码
public class SocialMediaExample {public static void main(String[] args) {Celebrity celebrity = new Celebrity("The Rock");User user1 = new User("Alice");User user2 = new User("Bob");celebrity.addFollower(user1);celebrity.addFollower(user2);celebrity.postNewContent("Excited to share my new movie trailer with you all!");celebrity.removeFollower(user1);celebrity.postNewContent("Launching my new fitness brand soon!");}
}

类比总结

通过社交媒体关注机制的类比,我们可以更深入地理解观察者模式:

  • 动态订阅与取消订阅:用户可以随时开始或停止关注,类似于在观察者模式中动态添加和删除观察者。
  • 解耦:名人无需知道具体有哪些用户关注他们,只需发布更新即可,这与观察者模式中主题和观察者之间的解耦相对应。
  • 广播通知:社交媒体平台负责将更新广播给所有关注者,就像主题在其状态改变时通知所有观察者一样。

观察者模式强调了对象间的动态关系和通信,以及如何将状态的变化通知给一组可能感兴趣的其他对象。

http://www.yayakq.cn/news/795298/

相关文章:

  • wordpress搭建企业网站思路工程建设承包合同
  • 网站设计怎么设计学生作业网站系统的软件和硬件接口
  • 西安可以做网站的国外网站制作
  • wordpress建站免费吗上海网站开发多少钱
  • 网站集约化建设力度广东省建设厅证书查询官网
  • 深圳网站关键词优化推广关键词歌曲免费听
  • 西安响应式网站建设微商城官网登录
  • 免费行情软件网站下载视频做公司网站的步骤
  • 怎么根据别人的网站做自己的网站网站建设项目网络图
  • 网站源代码怎么放入 dede网站后台陕西交通建设集团西商分公司网站
  • 休闲小零食网站开发方案家具网站建设策划书
  • 海外购物网站上填手机号码怎么做做地方特产的网站
  • 网站开发标准pptwordpress内容编辑器
  • html静态页面怎么放在网站上wordpress远程下载
  • 手机做网站多少钱怎么做网站策划的模板
  • 网站 切图做短视频必备的网站
  • 济宁seo优化wordpress seo联接插件
  • 深圳市城乡建设局网站业务型网站首页
  • 门户网站建设服务报价完整的网站建设平台协议书
  • 做网站用小动画北京南站是丰台站吗
  • 柳州做网站价格简易动漫网站模板
  • 对网站建设公司说如何做电商
  • wordpress弹幕视频插件广州seo服务外包
  • 容县住房和城乡建设局网站中国网站用Cn域名
  • 高端个性化网站开发企业管理咨询行业很乱
  • 网站建设有什么技术晋中推广型网站建设
  • 做外贸通常用哪些网站在线拼图
  • 建设化妆品网站服务企业信息管理平台系统
  • 建设网站应该加什么服务器公司建网站的好处
  • cpa做电影网站侵权吗网页视频怎么下载插件