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

大庆绿色出行appseo站内优化培训

大庆绿色出行app,seo站内优化培训,怎么查网站在哪备案,b2b门户网站建设多少钱概念 创建一个中介来降低对象之间的耦合度,关系”多对多“变为“一对多”。 角色介绍 Mediator:抽象中介者,接口或者抽象类。ConcreteMediator:中介者具体实现,实现中介者接口,定义一个List管理Colleagu…

概念

创建一个中介来降低对象之间的耦合度,关系”多对多“变为“一对多”。

角色介绍

  • Mediator:抽象中介者,接口或者抽象类。
  • ConcreteMediator:中介者具体实现,实现中介者接口,定义一个List管理Colleague对象。
  • Colleague:抽象同事,定义同事类的接口或者抽象类,保存中介者对象,实现同事类通用的方法。
  • ConcreteColleague:具体同事类,实现抽象同事类。通过中介者间接完成具体同事类之间的通信。

UML

中介者

代码实现

interface UserAbs {fun enter(chatRoom: ChatRoom)fun send(msg: String)fun receive()
}data class User(val name: String) : UserAbs {private var room: ChatRoom? = nulloverride fun enter(chatRoom: ChatRoom) {room = chatRoomroom?.enter(this)}override fun send(msg: String) {room?.operation(this, msg)}override fun receive() {room?.getMessage()?.forEach {println(it)}}
}
class ChatRoom(val id: Int) {private val messages = ArrayList<String>()fun enter(user: User) {println("${user.name}进入聊天室$id")}fun operation(user: User, msg: String) {val log = "${user.name}说了$msg"println(log)messages.add(log)}fun getMessage(): MutableList<String> {return messages}
}fun main() {val room = ChatRoom(1)val user1 = User("张三")val user2 = User("李四")val user3 = User("王八")user1.enter(room)user2.enter(room)user3.enter(room)user1.send("你好")
}

优缺点

优点

  • 简化对象间的关系
  • 提高灵活性
  • 促进低耦合

缺点

  • 中介者过于庞大

应用场景

适用于复杂通信对象组,重用对象。

  1. 聊天应用,聊天室
  2. 空中交通控制系统
  3. GUI框架,MVC架构 Controller是中介者,根据View的请求Model
  4. 工作流引擎,协调用户界面、事件之间的关系

总结

中介者模式核心在于引入中介者类,承担中转和协调作用。MediatorLiveData就是使用了中介者模式,可用来管理、合并多个数据源。它的源码可以参考:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YYivHGrz-1691306533508)(https://juejin.cn/post/7054720521031647245)]
参考:

  • 基于MediatorLiveData实现红点的统一管理
  • MediatorLiveData使用
  • 中介者模式及其应用场景
http://www.yidumall.com/news/85553.html

相关文章:

  • 云南省保山建设网站如何写营销软文
  • 网页加入信任站点百度seo价格
  • 郑州网站开发工程师深圳seo外包公司
  • 网站内容标签设计百度网站流量查询
  • 做网站代理商好赚吗百度资讯
  • 网站建设如何学线上推广策划方案范文
  • j2ee 建设简单网站b站视频推广的方法有哪些
  • wordpress 设成中文版嘉兴百度快照优化排名
  • 成都建设项目环境影响登记网站百度在线识图查图片
  • 图片做记录片的是哪个网站网络营销策划书的主要内容
  • wordpress json 分类南宁seo优化公司排名
  • 做网站侵权苏州吴中区seo关键词优化排名
  • 天津做网站建设的公司sem搜索引擎营销
  • 个人网站制作说明seo原创工具
  • 国外网站建设企业安徽关键词seo
  • 做淘宝店标的网站整合营销传播案例分析
  • 网站建设多少钱合适百度发广告需要多少钱
  • 做网站得花多少钱上海搜索引擎优化公司
  • 济南网站建设v芯企优互联不错百度电话销售
  • 系统优化建议优化大师优化项目有哪些
  • 用vs做网站在安装时要勾选域名比价网
  • html5 网站开发网络营销网课
  • 手机网站生成app软件维普网论文收录查询
  • wordpress脚注东莞seo建站
  • 做慕课的网站广州最新疫情最新消息
  • 建设企业网站找谁百度搜索风云榜下载
  • 中国十大货源批发网站关键词
  • 做app网站有哪些专业的营销团队哪里找
  • 银川微信网站制作一个新手怎么做电商
  • 代点任意广告链接网站公司网站设计图