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

什么浏览器可以看任何网站网站建设 合作协议

什么浏览器可以看任何网站,网站建设 合作协议,网站规划与建设课程设计,便民网文章目录 1. 概述1.1 作用1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 仲裁者#xff08;Mediator#xff09;可以封装和协调多个对象之间的耦合交互行为#xff0c;以减弱这些对象之间的耦合关联。 1.1 作用 将多个对象相互耦合的设计转变为所有对象… 文章目录 1. 概述1.1 作用1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 仲裁者Mediator可以封装和协调多个对象之间的耦合交互行为以减弱这些对象之间的耦合关联。 1.1 作用 将多个对象相互耦合的设计转变为所有对象通过中介协作从而降低其耦合性 多个对象相互耦合 所有对象通过中介E相互协作 1.2 角色 抽象仲裁者Mediator角色封装和实现其子类的协作行为。 具体仲裁者ConcreteMediator角色实现仲裁者行为。 抽象协作者类Colleague角色持有指向仲裁者Mediator对象的引用 具体协作者ConcreteColleague 1.3 类图 #mermaid-svg-RD4ktl3MkbmpmcLg {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RD4ktl3MkbmpmcLg .error-icon{fill:#552222;}#mermaid-svg-RD4ktl3MkbmpmcLg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-RD4ktl3MkbmpmcLg .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-RD4ktl3MkbmpmcLg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-RD4ktl3MkbmpmcLg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-RD4ktl3MkbmpmcLg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-RD4ktl3MkbmpmcLg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-RD4ktl3MkbmpmcLg .marker{fill:#333333;stroke:#333333;}#mermaid-svg-RD4ktl3MkbmpmcLg .marker.cross{stroke:#333333;}#mermaid-svg-RD4ktl3MkbmpmcLg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-RD4ktl3MkbmpmcLg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-RD4ktl3MkbmpmcLg g.classGroup text .title{font-weight:bolder;}#mermaid-svg-RD4ktl3MkbmpmcLg .nodeLabel,#mermaid-svg-RD4ktl3MkbmpmcLg .edgeLabel{color:#131300;}#mermaid-svg-RD4ktl3MkbmpmcLg .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-RD4ktl3MkbmpmcLg .label text{fill:#131300;}#mermaid-svg-RD4ktl3MkbmpmcLg .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-RD4ktl3MkbmpmcLg .classTitle{font-weight:bolder;}#mermaid-svg-RD4ktl3MkbmpmcLg .node rect,#mermaid-svg-RD4ktl3MkbmpmcLg .node circle,#mermaid-svg-RD4ktl3MkbmpmcLg .node ellipse,#mermaid-svg-RD4ktl3MkbmpmcLg .node polygon,#mermaid-svg-RD4ktl3MkbmpmcLg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-RD4ktl3MkbmpmcLg .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-RD4ktl3MkbmpmcLg g.clickable{cursor:pointer;}#mermaid-svg-RD4ktl3MkbmpmcLg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-RD4ktl3MkbmpmcLg g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-RD4ktl3MkbmpmcLg .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-RD4ktl3MkbmpmcLg .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-RD4ktl3MkbmpmcLg .dashed-line{stroke-dasharray:3;}#mermaid-svg-RD4ktl3MkbmpmcLg #compositionStart,#mermaid-svg-RD4ktl3MkbmpmcLg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #compositionEnd,#mermaid-svg-RD4ktl3MkbmpmcLg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #dependencyStart,#mermaid-svg-RD4ktl3MkbmpmcLg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #dependencyStart,#mermaid-svg-RD4ktl3MkbmpmcLg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #extensionStart,#mermaid-svg-RD4ktl3MkbmpmcLg .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #extensionEnd,#mermaid-svg-RD4ktl3MkbmpmcLg .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #aggregationStart,#mermaid-svg-RD4ktl3MkbmpmcLg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg #aggregationEnd,#mermaid-svg-RD4ktl3MkbmpmcLg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-RD4ktl3MkbmpmcLg .edgeTerminals{font-size:11px;}#mermaid-svg-RD4ktl3MkbmpmcLg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Mediator ConcreteMediator -ConcreteColleagueA:concreteColleagueA -ConcreteColleagueB:concreteColleagueB «interface» Colleague mediator:Mediator ConcreteColleagueA Mediator mediator ConcreteColleagueB Mediator mediator 2. 代码示例 2.1 设计 定义抽象仲裁者Mediator定义具体仲裁者ConcreteMediator 它依赖了需要的具体协作者ConcreteColleagueA、ConcreteColleagueB、ConcreteColleagueC它的Process()方法选择了如何执行何种实际协作者 定义了抽象协作者Colleague定义了各个实际协作者ConcreteColleagueA、ConcreteColleagueB、ConcreteColleagueC 它们实现了抽象协作者Colleague它们都依赖了抽象仲裁者Mediator它们的Action()方法通过所依赖的仲裁者执行对应的实际协作者的Option()方法它们的Option()方法是实际协作中的操作 调用 实例化一个具体仲裁者实例化三个具体协作者每个具体协作者关联仲裁者实例分别执行三个仲裁者的Action()方法完成每一次协作 2.2 代码 代码 package mainimport fmt// 抽象中介 type Mediator interface {Process(colleague Colleague) }// 实际中介它持有所有具体协作者 type ConcreteMediator struct {concreteColleagueA *ConcreteColleagueAconcreteColleagueB *ConcreteColleagueBconcreteColleagueC *ConcreteColleagueC }// 该方法实现了各协作者之间通过实际中介的相互协作该例中实际中介同时维护了实际协作者的协作关系 func (cm *ConcreteMediator) Process(colleague Colleague) {switch {case colleague cm.concreteColleagueA:cm.concreteColleagueA.Option()cm.concreteColleagueC.Option()case colleague cm.concreteColleagueB:cm.concreteColleagueB.Option()cm.concreteColleagueC.Option()case colleague cm.concreteColleagueC:cm.concreteColleagueC.Option()} }// 抽象协作者 type Colleague interface {Action() }// 定义实际协作者A它关联了中介 type ConcreteColleagueA struct {mediator Mediator }// 该方法调用中介已达到调用其他协作者的目的调用顺序由中介维护 func (a *ConcreteColleagueA) Action() {a.mediator.Process(a) }// 该方法是协作者A自身的操作 func (e *ConcreteColleagueA) Option() {fmt.Println(ConcreteColleagueA) }// 实际协作者B(说明同协作者A) type ConcreteColleagueB struct {mediator Mediator }func (e *ConcreteColleagueB) Action() {e.mediator.Process(e) }func (e *ConcreteColleagueB) Option() {fmt.Println(ConcreteColleagueB) }// 实际协作者C(说明同协作者A) type ConcreteColleagueC struct {mediator Mediator }func (t *ConcreteColleagueC) Action() {t.mediator.Process(t) }func (t *ConcreteColleagueC) Option() {fmt.Println(ConcreteColleagueC) }func main() {//实例化一个具体中介concreteMediator : ConcreteMediator{}//实例化三个实际协作者concreteColleagueA : ConcreteColleagueA{mediator: concreteMediator,}concreteColleagueB : ConcreteColleagueB{mediator: concreteMediator,}concreteColleagueC : ConcreteColleagueC{mediator: concreteMediator,}//具体中介应持有所有协作者concreteMediator.concreteColleagueA concreteColleagueAconcreteMediator.concreteColleagueB concreteColleagueBconcreteMediator.concreteColleagueC concreteColleagueC//协作者A的Action()方法向它的实际中介请求并由中介按它维护的顺序依次调用协作者concreteColleagueA.Action()//协作者A的Action()方法向它的实际中介请求并由中介按它维护的顺序依次调用协作者concreteColleagueB.Action()//协作者A的Action()方法向它的实际中介请求并由中介按它维护的顺序依次调用协作者concreteColleagueC.Action() }输出 2.3 类图 #mermaid-svg-rrcIEerO8Uhs3bza {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rrcIEerO8Uhs3bza .error-icon{fill:#552222;}#mermaid-svg-rrcIEerO8Uhs3bza .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-rrcIEerO8Uhs3bza .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-rrcIEerO8Uhs3bza .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-rrcIEerO8Uhs3bza .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-rrcIEerO8Uhs3bza .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-rrcIEerO8Uhs3bza .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-rrcIEerO8Uhs3bza .marker{fill:#333333;stroke:#333333;}#mermaid-svg-rrcIEerO8Uhs3bza .marker.cross{stroke:#333333;}#mermaid-svg-rrcIEerO8Uhs3bza svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-rrcIEerO8Uhs3bza g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-rrcIEerO8Uhs3bza g.classGroup text .title{font-weight:bolder;}#mermaid-svg-rrcIEerO8Uhs3bza .nodeLabel,#mermaid-svg-rrcIEerO8Uhs3bza .edgeLabel{color:#131300;}#mermaid-svg-rrcIEerO8Uhs3bza .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-rrcIEerO8Uhs3bza .label text{fill:#131300;}#mermaid-svg-rrcIEerO8Uhs3bza .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-rrcIEerO8Uhs3bza .classTitle{font-weight:bolder;}#mermaid-svg-rrcIEerO8Uhs3bza .node rect,#mermaid-svg-rrcIEerO8Uhs3bza .node circle,#mermaid-svg-rrcIEerO8Uhs3bza .node ellipse,#mermaid-svg-rrcIEerO8Uhs3bza .node polygon,#mermaid-svg-rrcIEerO8Uhs3bza .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-rrcIEerO8Uhs3bza .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-rrcIEerO8Uhs3bza g.clickable{cursor:pointer;}#mermaid-svg-rrcIEerO8Uhs3bza g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-rrcIEerO8Uhs3bza g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-rrcIEerO8Uhs3bza .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-rrcIEerO8Uhs3bza .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-rrcIEerO8Uhs3bza .dashed-line{stroke-dasharray:3;}#mermaid-svg-rrcIEerO8Uhs3bza #compositionStart,#mermaid-svg-rrcIEerO8Uhs3bza .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #compositionEnd,#mermaid-svg-rrcIEerO8Uhs3bza .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #dependencyStart,#mermaid-svg-rrcIEerO8Uhs3bza .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #dependencyStart,#mermaid-svg-rrcIEerO8Uhs3bza .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #extensionStart,#mermaid-svg-rrcIEerO8Uhs3bza .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #extensionEnd,#mermaid-svg-rrcIEerO8Uhs3bza .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #aggregationStart,#mermaid-svg-rrcIEerO8Uhs3bza .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza #aggregationEnd,#mermaid-svg-rrcIEerO8Uhs3bza .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-rrcIEerO8Uhs3bza .edgeTerminals{font-size:11px;}#mermaid-svg-rrcIEerO8Uhs3bza :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} «interface» Mediator Process(colleague Colleague) ConcreteMediator ConcreteColleagueA:concreteColleagueA ConcreteColleagueB:concreteColleagueB ConcreteColleagueC:concreteColleagueC Process(colleague Colleague) «interface» Colleague Action() ConcreteColleagueA Mediator mediator Action() Option() ConcreteColleagueB Mediator mediator Action() Option() ConcreteColleagueC Mediator mediator Action() Option()
http://www.hkea.cn/news/14281939/

相关文章:

  • 生成html网站地图通江移动网站建设
  • html怎么做音乐网站wordpress最大上传大小怎么改
  • 网站开发 男生江苏网站seo营销模板
  • 企业做企业网站的好处aardio能开发手机应用吗
  • 国内做网站最大的公司有哪些大型门户网站都有
  • 深圳建网站seo一键生成简历
  • 搭建个网站深圳博纳网站建设
  • 制作招商加盟网站微信公众号登录界面
  • 婺源做网站北京做兼职从哪个网站好
  • 积分兑换商城网站建设wordpress 手机 主题
  • 网站建设找哪个做网站用html还是php
  • 免费网站商城模板安卓系统开发者
  • dede医院网站模板wordpress 收不到邮件
  • 一个专业做设计的网站wordpress如何实现支付功
  • jsp 网站开发例子中国城乡建设网站
  • 网络优化网站建设i国网app免费下载
  • 微信微网站开发营销策划的内容包括哪些
  • 网站建设的作用和用途电脑培训网上培训班
  • 谈谈对电子商务网站建设与管理做网站中怎么设置单张图片
  • 怎么让百度搜到自己的网站wordpress放哪
  • 网站首页设计常见的6种布局方式网站秒收录秒排名
  • 佛山市网站建设 骏域动力上海网站推广系统
  • 大连模板网站制作报价贵阳网站推广¥做下拉去118cr
  • 大庆网站建设黑icp备1900潞城网站建设
  • 商务网站建设内容域名备案在哪里办
  • 济南地区做企业网站的公司微信公众平台开发者工具
  • 运营型网站网络彩票建立网站
  • 做外贸网站选择服务器湖南长沙招聘信息最新招聘2022
  • 网站电子商务类型网页源代码怎么搜索关键词
  • 万盛经开区建设局网站域名解析过程