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

学网站开发月薪多少钱上海闵行区房价

学网站开发月薪多少钱,上海闵行区房价,网站关键词优化到首页难度,通过模板做网站文章目录 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.sadfv.cn/news/353229/

相关文章:

  • 新手入门网站建设芜湖网站设计公司
  • 如何做视频网站流程网站建设游戏公司
  • 杭州 电子商务网站建设 网络服务wordpress编辑器图片
  • 安徽网站建设方案服务网站做等级保护
  • 网站设计制作全网优惠wordpress polling
  • 天津哪家做企业网站镇江百姓网
  • 北京新站优化手机排版软件app
  • 湖州网站seo网站开发 书
  • 聊城做网站建设的公司10大免费软件下载网站推荐
  • 济南网站建设报价宁波seo服务引流推广
  • 网站备案产品信息错误wordpress post属性
  • 站酷网网址网站优化建设上海
  • 怎么看网站空间大小百度自助网站建设
  • 网站的超链接怎么做微信小程序一般用什么开发
  • 企业网站建设兴田德润电话周易八字排盘系统网站建设
  • 海阳玖网站建设做网站网站需要多少钱
  • 有趣的网站网址之家凡客诚品官网手机下载
  • 怎么做网站快照网站建设华企
  • 石家庄大型网站建站电脑机箱定制网站
  • 网站 营销方案网站设计 网站开发 优化
  • 社群推广平台福鼎整站优化
  • 中兴通讯的网站建设分析广州h5网站建设公司
  • 德州企业网站建设要素自己做网站卖货多少钱
  • 十大舆情网站濮阳创建网站公司
  • 网站开发有什么用如何查询百度搜索关键词排名
  • 国内网站免费服务器led外贸网站制作
  • 湖北网站注册设计公司wordpress请提供一个地址才能继续
  • 建设网站对于客户网站权限查询
  • 网站推荐2021蒙自建设网站
  • wordpress短网址插件东莞短视频seo需要多少钱