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

中国建设网站首页什么叫商城网站

中国建设网站首页,什么叫商城网站,朝阳seo推广,快速网站推广优化文章目录 1. 概念1.1 角色1.2 应用场景1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 示例类图 1. 概念 定义一个适配器,帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标(Target):客户端调用的目标接口 被适配者&#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 类图

«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 示例类图

«interface»
Bird
+Get()
Parrot
+String:Name
+String:Feather
CatAdapter
+*Cat:Cat
+Get()
Cat
+String:Name
+String:Fur
+Show()
Client
GetBird(bird Bird)

在这里插入图片描述

http://www.yayakq.cn/news/736707/

相关文章:

  • 宠物用品技术支持 东莞网站建设网站建设的工作视频人的吗
  • 怎样在门户网站做网络推广八大美院视觉传达设计作品
  • 烟台网站设计公司推荐湖南建设监理官方网站
  • 电子商务网站设计心得ps网页模板
  • 自己做的小网站建设工程合同备案网站
  • 海口网站制作设计网站建设概况
  • 企业网站备案快吗青龙桥网站建设
  • 做网站申请域名的流程网页版梦幻西游能交易吗
  • 做网站交接什么时需要交接网站建设相关专业
  • 温州英文网站建设asp网站开发的实训
  • 网站悬浮网站建设流程有几个阶段
  • 自适应网站系统wordpress欢迎页
  • 关于网站开发的个人小结怎么向谷歌提交网站
  • 网站开发哪便宜网站建设策划书是有谁编写的
  • 帮别人做网站赚多少钱什么网站可以做电子画册
  • 网站建设的钱计入什么科目青岛互联网设计公司
  • 诚信网站备案建筑工程的公司
  • 呼市做开发网站的公司做网站要有什么团队
  • 建设银行网站登录首页wordpress如何注册
  • 速贝网站友情链接怎么做兰州做网站开发
  • 广州 建网站正规网站建设找哪家
  • 织梦网站地图制作西安门户网站
  • 阳江房地产信息网官方网站一个网站 两个数据库
  • icp网站备案查询wordpress媒体库+下载
  • 在域名做网站南美洲网站后缀
  • 做网站建设一般多少钱网站开发里程碑
  • 团结湖网站建设wordpress 美观插件
  • 淮北建设工程质量安全站网站推广普通话作文
  • 兖州网站建设多少钱陕西专业网站开发公司
  • dede旅游网站网站开发中什么是站点