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

网站设计论文经济可行性分析淘宝官方网站主页

网站设计论文经济可行性分析,淘宝官方网站主页,优化最狠的手机优化软件,沈阳建设工程质量安全文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 代码2.2 类图 1. 概念 观察者#xff08;Observer#xff09;指当目标对象状态发生变化后#xff0c;对状态变化事件进行响应或处理的对象。 1.1 角色 Subject#xff08;抽象主题#xff09;#xff1a; 它可以有多… 文章目录 1. 概念1.1 角色1.2 类图 2. 代码示例2.1 代码2.2 类图 1. 概念 观察者Observer指当目标对象状态发生变化后对状态变化事件进行响应或处理的对象。 1.1 角色 Subject抽象主题 它可以有多个观察者并将所有观察者对象的引用保存在一个集合里被观察者提供一个接口可以增加和删除观察者角色 ConcreteSubject具体主题 将有关状态存入具体观察者对象在主题发生改变时给所有的观察者发出通知 Observer抽象观察者 为所有的具体观察者定义一个更新接口在收到主题的通知时能够及时的更新自己 ConcreteObserver具体观察者 实现抽象观察者角色定义的更新接口以便使本身的状态与主题状态相协调。如果需要具体观察者角色可以保存一个指向具体主题角色的引用。 1.2 类图 #mermaid-svg-CxI5GUrUYhRa6wHp {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-CxI5GUrUYhRa6wHp .error-icon{fill:#552222;}#mermaid-svg-CxI5GUrUYhRa6wHp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-CxI5GUrUYhRa6wHp .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-CxI5GUrUYhRa6wHp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-CxI5GUrUYhRa6wHp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-CxI5GUrUYhRa6wHp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-CxI5GUrUYhRa6wHp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-CxI5GUrUYhRa6wHp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-CxI5GUrUYhRa6wHp .marker.cross{stroke:#333333;}#mermaid-svg-CxI5GUrUYhRa6wHp svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-CxI5GUrUYhRa6wHp g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-CxI5GUrUYhRa6wHp g.classGroup text .title{font-weight:bolder;}#mermaid-svg-CxI5GUrUYhRa6wHp .nodeLabel,#mermaid-svg-CxI5GUrUYhRa6wHp .edgeLabel{color:#131300;}#mermaid-svg-CxI5GUrUYhRa6wHp .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-CxI5GUrUYhRa6wHp .label text{fill:#131300;}#mermaid-svg-CxI5GUrUYhRa6wHp .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-CxI5GUrUYhRa6wHp .classTitle{font-weight:bolder;}#mermaid-svg-CxI5GUrUYhRa6wHp .node rect,#mermaid-svg-CxI5GUrUYhRa6wHp .node circle,#mermaid-svg-CxI5GUrUYhRa6wHp .node ellipse,#mermaid-svg-CxI5GUrUYhRa6wHp .node polygon,#mermaid-svg-CxI5GUrUYhRa6wHp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-CxI5GUrUYhRa6wHp .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-CxI5GUrUYhRa6wHp g.clickable{cursor:pointer;}#mermaid-svg-CxI5GUrUYhRa6wHp g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-CxI5GUrUYhRa6wHp g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-CxI5GUrUYhRa6wHp .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-CxI5GUrUYhRa6wHp .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-CxI5GUrUYhRa6wHp .dashed-line{stroke-dasharray:3;}#mermaid-svg-CxI5GUrUYhRa6wHp #compositionStart,#mermaid-svg-CxI5GUrUYhRa6wHp .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #compositionEnd,#mermaid-svg-CxI5GUrUYhRa6wHp .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #dependencyStart,#mermaid-svg-CxI5GUrUYhRa6wHp .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #dependencyStart,#mermaid-svg-CxI5GUrUYhRa6wHp .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #extensionStart,#mermaid-svg-CxI5GUrUYhRa6wHp .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #extensionEnd,#mermaid-svg-CxI5GUrUYhRa6wHp .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #aggregationStart,#mermaid-svg-CxI5GUrUYhRa6wHp .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp #aggregationEnd,#mermaid-svg-CxI5GUrUYhRa6wHp .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-CxI5GUrUYhRa6wHp .edgeTerminals{font-size:11px;}#mermaid-svg-CxI5GUrUYhRa6wHp :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Subject -observer:List Add(o:Observer) NotifyObserver() ChangeState() ConcreteSubject ChangeState() «interface» Observer Update(s:State) ConcreteObserverA Update(s:State) ConcreteObserverB Update(s:State) 2. 代码示例 2.1 代码 代码 package mainimport fmt//定义抽象主题它是观察者的聚合 type Subject struct{ observers []Observer }//定义一个方法为抽象主题添加观察者 func (c *Subject) Attach(o ...Observer) {c.observers append(c.observers, o...) }//定义实际主题继承抽象主题它是实际的被观察者。 type ConcreteSubject struct {Subject Subjectcontext string}//依次通知观察者 func (c *ConcreteSubject) notify() {for _, o : range c.Subject.observers {o.Update(c)}}//具体抽象主题的同时发送通知给观察者 func (c *ConcreteSubject) UpdateContext(context string) {c.context contextc.notify() }//定义抽象观察者 type Observer interface {Update(*ConcreteSubject) }//定义具体观察者 type ConcreteObserverA struct {name string }//更新观察者 func (r *ConcreteObserverA) Update(c *ConcreteSubject) {fmt.Printf(%s receive %q\n, r.name, c.context) } //定义具体观察者 type ConcreteObserverB struct {name string }//更新观察者 func (r *ConcreteObserverB) Update(c *ConcreteSubject) {fmt.Printf(%s receive %q\n, r.name, c.context) } //定义具体观察者 type ConcreteObserverC struct {name string }//更新观察者 func (r *ConcreteObserverC) Update(c *ConcreteSubject) {fmt.Printf(%s receive %q\n, r.name, c.context) } func main() {//实例化抽象主题subject : Subject{observers: make([]Observer, 0),}//实例化3观察者concreteObserverA : ConcreteObserverA{name: concreteObserverA,}concreteObserverB : ConcreteObserverB{name: concreteObserverB,}concreteObserverC : ConcreteObserverC{name: concreteObserverC,}//将3个观察者加入抽象主题subject.Attach(concreteObserverA,concreteObserverB,concreteObserverC)//实例化具体主题concreteSubject : ConcreteSubject{Subject: subject,}//更新具体主题它将通知所有观察者concreteSubject.UpdateContext(updata context) }输出 concreteObserverA receive updata context concreteObserverB receive updata context concreteObserverC receive updata context2.2 类图 #mermaid-svg-3O9VrFaNJnm5T67t {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3O9VrFaNJnm5T67t .error-icon{fill:#552222;}#mermaid-svg-3O9VrFaNJnm5T67t .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3O9VrFaNJnm5T67t .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-3O9VrFaNJnm5T67t .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3O9VrFaNJnm5T67t .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3O9VrFaNJnm5T67t .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3O9VrFaNJnm5T67t .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3O9VrFaNJnm5T67t .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3O9VrFaNJnm5T67t .marker.cross{stroke:#333333;}#mermaid-svg-3O9VrFaNJnm5T67t svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3O9VrFaNJnm5T67t g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-3O9VrFaNJnm5T67t g.classGroup text .title{font-weight:bolder;}#mermaid-svg-3O9VrFaNJnm5T67t .nodeLabel,#mermaid-svg-3O9VrFaNJnm5T67t .edgeLabel{color:#131300;}#mermaid-svg-3O9VrFaNJnm5T67t .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-3O9VrFaNJnm5T67t .label text{fill:#131300;}#mermaid-svg-3O9VrFaNJnm5T67t .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-3O9VrFaNJnm5T67t .classTitle{font-weight:bolder;}#mermaid-svg-3O9VrFaNJnm5T67t .node rect,#mermaid-svg-3O9VrFaNJnm5T67t .node circle,#mermaid-svg-3O9VrFaNJnm5T67t .node ellipse,#mermaid-svg-3O9VrFaNJnm5T67t .node polygon,#mermaid-svg-3O9VrFaNJnm5T67t .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-3O9VrFaNJnm5T67t .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-3O9VrFaNJnm5T67t g.clickable{cursor:pointer;}#mermaid-svg-3O9VrFaNJnm5T67t g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-3O9VrFaNJnm5T67t g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-3O9VrFaNJnm5T67t .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-3O9VrFaNJnm5T67t .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-3O9VrFaNJnm5T67t .dashed-line{stroke-dasharray:3;}#mermaid-svg-3O9VrFaNJnm5T67t #compositionStart,#mermaid-svg-3O9VrFaNJnm5T67t .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #compositionEnd,#mermaid-svg-3O9VrFaNJnm5T67t .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #dependencyStart,#mermaid-svg-3O9VrFaNJnm5T67t .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #dependencyStart,#mermaid-svg-3O9VrFaNJnm5T67t .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #extensionStart,#mermaid-svg-3O9VrFaNJnm5T67t .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #extensionEnd,#mermaid-svg-3O9VrFaNJnm5T67t .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #aggregationStart,#mermaid-svg-3O9VrFaNJnm5T67t .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t #aggregationEnd,#mermaid-svg-3O9VrFaNJnm5T67t .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-3O9VrFaNJnm5T67t .edgeTerminals{font-size:11px;}#mermaid-svg-3O9VrFaNJnm5T67t :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Subject []Observe observers Attach(o ...Observer) ConcreteSubject Subject:Subject context:String Notify() UpdateContext(context string) «interface» Observer Update(c *ConcreteSubject) ConcreteObserverA Name:String Update(c *ConcreteSubject) ConcreteObserverB Name:String Update(c *ConcreteSubject) ConcreteObserverC Name:String Update(c *ConcreteSubject)
http://www.hkea.cn/news/14511706/

相关文章:

  • 免费企业网站建立网易企业邮箱怎么认证
  • 工厂弄个网站做外贸如何处理万网网站制作
  • 国外做的比较的ppt网站有哪些方面wordpress升级失败
  • 网站结构有哪几种微信公众号与网站绑定
  • 建设机械官方网站网站建设兼职在哪找
  • asp装修公司网站wordpress客户端定制
  • 网页开发公司网站做网站具体流程
  • seo网站推广案例广告宣传方式有哪些
  • 课程中心网站建设内容dnf免做卡领取网站
  • 百度站长工具排名WordPress如何更改文章链接
  • 一般网站模块佛山找企业的网站
  • 深圳网站制作十年乐云seo品牌wordpress无需代码建站
  • 软件网站的服务器wap网站搜索
  • 网站开发阶段网上营销的方式
  • 百度的网站关键词被篡改网页升级未成年人自觉离开
  • 无锡做网站公司有哪些电话宁波搭建网站公司
  • 交河做网站网络营销服务企业有哪些
  • 免费网站推广平台排行榜花瓣网免费素材图库官网
  • 网站的特效代码给个网站好人有好报
  • 聊城手机站网站公司电话工商营业执照网上年审入口
  • 北京微网站开发上海高品质网站建设
  • 网站开发语言哪一种好些2023最好用的浏览器
  • 网站关于我们的页面wordpress主体怎么用
  • 运营一个网站的成本上海鸿鹄设计公司
  • 什么网站做家具出口昆明自动seo
  • 网站构建代码模板建设银行网上营业厅官方网站下载
  • 建设文明网站包括网站域名空间代理
  • wordpress的多站点网站无法访问php支持大型网站开发吗
  • 东阳网站建设yw126北京建筑工程公司大全
  • 湖北省建设厅造价官方网站百度一下电脑版首页