首页 > 其他分享 >桥接模式

桥接模式

时间:2022-09-22 10:11:26浏览次数:35  
标签:bridge name package 桥接 模式 video MP3 func

桥接模式

音频接口

package bridge

type Video interface {
    decode(string)
}

AVI格式

package bridge

type AVI struct {}

func NewAVI() *AVI {
    return &AVI{}
}

func (a *AVI)decode(name string) {
    fmt.Printf("AVI 格式进行解码%s\n",name)
}

MP3格式

package bridge

type MP3 struct {}

func NewMP3() *MP3 {
    return &MP3{}
}

func(m *MP3)decode(name string) {
    fmt.Printf("MP3 格式进行解码%s\n",name)
}

操作系统接口

package bridge

type System interface{
    play(string)
}

Windows

package bridge

type Mac struct {
    video Video
}

func NewMac(video Video) System{
    return &Mac{video:video}
}

func (m *Mac)play(name string) {
    m.video.decode(name)
    fmt.Println("Mac 开始播放音乐")
}

Linux

package bridge

type Linux struct {
    video Video
}

func NewLinux(video Video) System{
    return &Linux{video:video}
}

func (l *Linux)play(name string) {
    l.video.decode(name)
    fmt.Println("Linux 开始播放音乐")
}

测试文件

package bridge

func TestBridge(t *testing.T){
    sys := NewMac(NewMP3())
    sys.play("小苹果")
    sys = NewLinux(NewAVI())
    sys.play("偶吧刚囊死他")
}

标签:bridge,name,package,桥接,模式,video,MP3,func
From: https://www.cnblogs.com/mathsmouse/p/16718199.html

相关文章

  • MAUI学习笔记(五)-MVVM模式
    一、为什么使用MVVM模式:  MVVM模式有助于将应用程序的业务和表示逻辑与用户界面(UI)清晰分离。保持应用程序逻辑和UI之间的清晰分离有助于解决许多开发问题,并使......
  • 设计模式---原型模式
    简述类型:创建型目标:通过拷贝快速创建相同或相似对象。接下来我们看一个需要改进的案例。优化案例话不多说,先来看一个创建相同或相似对象的传统写法。原版v0public......
  • 结构性模式:适配器模式
    结构型模式:描述如何将类或者对象结合在一起的更大的结构结构性模式,可以分为,类结构模式和对象结构模式:  适配器模式:           ......
  • 装饰者模式、深拷贝、泛型序列化解决Caffeine中的缓存一致性问题
    一、前言Caffeine是一个高性能的Java缓存库,底层数据存储采用ConcurrentHashMap优点:因为Caffeine面向JDK8,在jdk8中ConcurrentHashMap增加了红黑树,在hash冲突严重时也......
  • 单例模式/原型模式
    原型模式:  单例模式: ......
  • 命令模式
    理论命令模式(Command),将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式的优点:1.能较容易......
  • NAT模式下的虚拟机连接主机网络
    基于NAT模式的VMware虚拟机(LinuxCentOS7)连接主机(Windows11)网络一、什么是NAT模式虚拟机连接主机网络的三种方式:Bridged(桥接)NAT(网络地址转换)Host-Only(仅主机)NA......
  • 设计模式-创建型模式之单例
    1、元类实现1classSingleton(type):2def__init__(self,*args,**kwargs):3super().__init__(*args,**kwargs)4self._instance=Non......
  • windows 2008 R2 断电重启进入修复模式
    windows2008R2意外断电重启进入修复模式 现在出现一个问题,就是当机房停电的时候,计算机自动进入到修复模式,当人不在机房的时候,容易造成服务器无法访问,我相信正常启动应......
  • PostgreSQL启用归档模式
    1、https://www.cnblogs.com/kreo/p/15304980.html1、事先检查命令#查看数据目录(找出conf文件位置)postgres=#SHOWdata_directory;#查看归档模式情况postgr......