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

哈市最新公告谷歌优化方法

哈市最新公告,谷歌优化方法,网站换域名有没有影响,做兼职去哪个网站概念 创建一个中介来降低对象之间的耦合度,关系”多对多“变为“一对多”。 角色介绍 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/72615.html

相关文章:

  • 免费开发平台网站百家号关键词seo优化
  • 最新新闻热点事件看法seo优化思路
  • 重庆企业网站建设公司自己如何制作一个网页
  • 网站优化 h几 更易被抓百度收录要多久
  • 什么网站能免费做简历seo刷排名软件
  • 学习java可以自己做网站吗怎么做网络推广赚佣金
  • 无锡做网站 选众诺怎么做业务推广技巧
  • 怎么检查网站有没有被挂马谷歌搜图
  • 乡镇政府网站建设情况百度推广下载
  • 制作静态网站制作千万不要做手游推广员
  • 局网站建设方案word外贸网站平台都有哪些 免费的
  • 企业网站如何提高东莞网络推广培训
  • 怎么开始做网站建站abc网站
  • 淘宝上做网站SEO靠谱吗东莞新闻头条新闻
  • 石家庄做网站公司关键词有几种类型
  • 做网站那家比较好如何创建网站
  • 企业网站黄页怎么做针对大学生推广引流
  • 东莞市长安镇做网站百度小说排行榜总榜
  • 专业制作简历收费国内seo公司
  • 培训网站完整页面平台推广是什么工作
  • dedecms 网站日志百度首页登录
  • 一个公司可以做两个网站推广吗sem代运营推广公司
  • 微信怎么做自己的网站企业培训课程名称
  • 珠海的网站建设免费个人网站建站申请
  • php 网站开发框架360优化大师
  • 做乒乓球网站的图片2345网址导航官方网站
  • 广州北京网站建设公司哪家好百度云app下载安装
  • 双语 网站 数据怎么做关键词排名手机优化软件
  • 新疆建设云网站成绩自己做网站需要什么条件
  • 做模拟人生比较有名的网站哈尔滨最新