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

济源市网站建设_网站建设公司_VPS_seo优化

乡村旅游网站的建设分析,建设高校图书馆网站的意义,吴忠住房和城乡建设局网站,品牌微营销网站建设文章目录 1. 概念1.1 角色1.2 应用场景1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 示例类图 1. 概念 定义一个适配器#xff0c;帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标#xff08;Target#xff09;#xff1a;客户端调用的目标接口 被适配者#xff08… 文章目录 1. 概念1.1 角色1.2 应用场景1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 示例类图 1. 概念 定义一个适配器帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标Target客户端调用的目标接口 被适配者Adaptee已经存在且运行良好的类或对象但它不能实现Taget接口。 适配器Adapter继承或管理被适配者且可以实现目标接口。 1.2 应用场景 背景 已经有一个目标接口供客户端调用根据需求新增一个类该类不能实现目标接口修改目标接口开销会很大 解决方法 我们新增一个类——适配器适配器继承新增类且可以实现目标接口 结果 客户端用适配器处理新增类的实例得到的实例可以实现目标接口。 1.2 类图 #mermaid-svg-BHF9sKSa7JyogYyB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-BHF9sKSa7JyogYyB .error-icon{fill:#552222;}#mermaid-svg-BHF9sKSa7JyogYyB .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-BHF9sKSa7JyogYyB .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-BHF9sKSa7JyogYyB .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-BHF9sKSa7JyogYyB .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-BHF9sKSa7JyogYyB .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-BHF9sKSa7JyogYyB .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-BHF9sKSa7JyogYyB .marker{fill:#333333;stroke:#333333;}#mermaid-svg-BHF9sKSa7JyogYyB .marker.cross{stroke:#333333;}#mermaid-svg-BHF9sKSa7JyogYyB svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-BHF9sKSa7JyogYyB g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-BHF9sKSa7JyogYyB g.classGroup text .title{font-weight:bolder;}#mermaid-svg-BHF9sKSa7JyogYyB .nodeLabel,#mermaid-svg-BHF9sKSa7JyogYyB .edgeLabel{color:#131300;}#mermaid-svg-BHF9sKSa7JyogYyB .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-BHF9sKSa7JyogYyB .label text{fill:#131300;}#mermaid-svg-BHF9sKSa7JyogYyB .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-BHF9sKSa7JyogYyB .classTitle{font-weight:bolder;}#mermaid-svg-BHF9sKSa7JyogYyB .node rect,#mermaid-svg-BHF9sKSa7JyogYyB .node circle,#mermaid-svg-BHF9sKSa7JyogYyB .node ellipse,#mermaid-svg-BHF9sKSa7JyogYyB .node polygon,#mermaid-svg-BHF9sKSa7JyogYyB .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-BHF9sKSa7JyogYyB .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-BHF9sKSa7JyogYyB g.clickable{cursor:pointer;}#mermaid-svg-BHF9sKSa7JyogYyB g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-BHF9sKSa7JyogYyB g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-BHF9sKSa7JyogYyB .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-BHF9sKSa7JyogYyB .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-BHF9sKSa7JyogYyB .dashed-line{stroke-dasharray:3;}#mermaid-svg-BHF9sKSa7JyogYyB #compositionStart,#mermaid-svg-BHF9sKSa7JyogYyB .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #compositionEnd,#mermaid-svg-BHF9sKSa7JyogYyB .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #dependencyStart,#mermaid-svg-BHF9sKSa7JyogYyB .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #dependencyStart,#mermaid-svg-BHF9sKSa7JyogYyB .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #extensionStart,#mermaid-svg-BHF9sKSa7JyogYyB .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #extensionEnd,#mermaid-svg-BHF9sKSa7JyogYyB .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #aggregationStart,#mermaid-svg-BHF9sKSa7JyogYyB .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB #aggregationEnd,#mermaid-svg-BHF9sKSa7JyogYyB .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-BHF9sKSa7JyogYyB .edgeTerminals{font-size:11px;}#mermaid-svg-BHF9sKSa7JyogYyB :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} «interface» Target Service() Class Service() Adapter *Adaptee:Adaptee Service() Adaptee AnotherService() Client 2. 代码示例 2.1 设计 背景 client通过Bird接口可以获取鸟类实例的信息有一个Cat类不能实现Bird接口但是需要client调用Bird接口来获取Cat实例的信息 解决 创建一个适配器CatAdapter 它继承Cat类且实现Bird接口 2.2 代码 package mainimport fmt //之前有一个Bird接口他可以Get鸟类的信息 type Bird interface {Get() }//比如这个鹦鹉类实现了Bird接口 type Parrot struct {Name stringFeather string }func (parrot *Parrot) Get() {fmt.Printf(鹦鹉%q的颜色是%q\n, parrot.Name, parrot.Feather) }//业务需求多了一个猫的类 type Cat struct {Name stringFur string } //它只有Show方法不能实现Bird接口 func (cat *Cat) Show() {fmt.Printf(猫咪%q的颜色是%q\n, cat.Name, cat.Fur) }//我们创建一个猫的解释器他继承了猫类同时又可以实现Bird接口 type CatAdapter struct {Cat *Cat }func (catAdapter *CatAdapter) Get() {catAdapter.Cat.Show() }//有一个客户端 type Client struct { } //它可以直接获取bird信息 func (client Client) GetBird(bird Bird) {bird.Get() }func main() {//实例化一个叫polly的鹦鹉polly : Parrot{Name: polly,Feather: green,}//示例话一个叫tom的猫tom : Cat{Name: tom,Fur: black,}client : Client{}//客户端可以直接使用pollyclient.GetBird(polly)//客户端可以通过解释器使用tomtomAdapter : CatAdapter{Cat: tom}client.GetBird(tomAdapter) }2.3 示例类图 #mermaid-svg-NhIKHI3dEECuujIH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NhIKHI3dEECuujIH .error-icon{fill:#552222;}#mermaid-svg-NhIKHI3dEECuujIH .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-NhIKHI3dEECuujIH .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-NhIKHI3dEECuujIH .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-NhIKHI3dEECuujIH .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-NhIKHI3dEECuujIH .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-NhIKHI3dEECuujIH .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-NhIKHI3dEECuujIH .marker{fill:#333333;stroke:#333333;}#mermaid-svg-NhIKHI3dEECuujIH .marker.cross{stroke:#333333;}#mermaid-svg-NhIKHI3dEECuujIH svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-NhIKHI3dEECuujIH g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-NhIKHI3dEECuujIH g.classGroup text .title{font-weight:bolder;}#mermaid-svg-NhIKHI3dEECuujIH .nodeLabel,#mermaid-svg-NhIKHI3dEECuujIH .edgeLabel{color:#131300;}#mermaid-svg-NhIKHI3dEECuujIH .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-NhIKHI3dEECuujIH .label text{fill:#131300;}#mermaid-svg-NhIKHI3dEECuujIH .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-NhIKHI3dEECuujIH .classTitle{font-weight:bolder;}#mermaid-svg-NhIKHI3dEECuujIH .node rect,#mermaid-svg-NhIKHI3dEECuujIH .node circle,#mermaid-svg-NhIKHI3dEECuujIH .node ellipse,#mermaid-svg-NhIKHI3dEECuujIH .node polygon,#mermaid-svg-NhIKHI3dEECuujIH .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-NhIKHI3dEECuujIH .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-NhIKHI3dEECuujIH g.clickable{cursor:pointer;}#mermaid-svg-NhIKHI3dEECuujIH g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-NhIKHI3dEECuujIH g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-NhIKHI3dEECuujIH .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-NhIKHI3dEECuujIH .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-NhIKHI3dEECuujIH .dashed-line{stroke-dasharray:3;}#mermaid-svg-NhIKHI3dEECuujIH #compositionStart,#mermaid-svg-NhIKHI3dEECuujIH .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #compositionEnd,#mermaid-svg-NhIKHI3dEECuujIH .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #dependencyStart,#mermaid-svg-NhIKHI3dEECuujIH .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #dependencyStart,#mermaid-svg-NhIKHI3dEECuujIH .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #extensionStart,#mermaid-svg-NhIKHI3dEECuujIH .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #extensionEnd,#mermaid-svg-NhIKHI3dEECuujIH .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #aggregationStart,#mermaid-svg-NhIKHI3dEECuujIH .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH #aggregationEnd,#mermaid-svg-NhIKHI3dEECuujIH .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-NhIKHI3dEECuujIH .edgeTerminals{font-size:11px;}#mermaid-svg-NhIKHI3dEECuujIH :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} «interface» Bird Get() Parrot String:Name String:Feather CatAdapter *Cat:Cat Get() Cat String:Name String:Fur Show() Client GetBird(bird Bird)
http://www.ihoyoo.com/news/43470.html

相关文章:

  • 做网站需要什么软件教程2019wordpress使用手册
  • 上海浦东网站设计公司网站设计主要包括哪些步骤
  • 漳浦网站建设深圳软件开发
  • 深圳品牌设计工作室优就业seo课程学多久
  • 设计企业门户网站北京建工博海建设有限公司网站
  • 长春做网站优化建协企业是什么公司
  • 网站开发设计师岗位职责做淘宝美工图片网站
  • 网页设计网站制作收获seo与网站建设的关联
  • 网站套模版wordpress 视频 去广告
  • 信丰网站制作策划公司广告费
  • 什么行业最需要做网站建设我需要做网站
  • 装修在线设计网站成都爱站网seo站长查询工具
  • 青岛公司网站建设开发潜江网站建设兼职
  • 怎么提高网站流量安徽城乡建设厅官方网站
  • 响应式网站建站系统wordpress搭建500错误
  • 个人无网站怎样做cps广告网页设计作业怎样发原文件
  • 纯php网站开发的网站瑞安 网站建设培训班
  • 工会门户网站建设需求北京企业网站开发多少钱
  • 梧州网站设计制作服务至上如何网站建设公司
  • 网站建设图文片中国古建筑工程网
  • 个人网站怎么建立步骤两当网站建设
  • 网站建设得花多少钱app下载安卓软件
  • 创建网站的软件aso优化前景
  • 建个企业网站需要多久学校 网站源码
  • 全球速卖通卖家注册seo专员工作累吗
  • 合肥网站建设渠道贵阳网站建设技术托管
  • 如何做一个虚拟网站九里微网站开发
  • 博士后是否可以做网站负责人门户网站模版
  • 做网站做推广服装设计公司排名前十强
  • 门户网站建设注意事项苏州木渎做网站