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

海口公司做网站百度网站提交入口

海口公司做网站,百度网站提交入口,青岛网站seo多少钱,官方网站页面尺寸桥接模式(Bridge Pattern)是一种结构型设计模式,旨在将抽象与实现分离,使得两者可以独立变化。通过使用桥接模式,可以避免在多个维度上进行继承,降低代码的复杂度,从而提高系统的可扩展性。 组成…

桥接模式(Bridge Pattern)是一种结构型设计模式,旨在将抽象与实现分离,使得两者可以独立变化。通过使用桥接模式,可以避免在多个维度上进行继承,降低代码的复杂度,从而提高系统的可扩展性。

组成部分

  1. 抽象类(Abstraction): 定义高层的抽象接口,并持有对实现的引用。
  2. 扩展抽象类(RefinedAbstraction): 继承自抽象类,提供具体的扩展实现。
  3. 实现接口(Implementor): 定义实现部分的接口。
  4. 具体实现类(ConcreteImplementor): 实现实现接口的具体类。

JAVA: 

// 1、定义一个图像接口
public interface Graph {//画图方法 参数:半径 长 宽public void drawGraph(int radius, int x, int y);
}
// 红色图形
public class RedGraph implements Graph{@Overridepublic void drawGraph(int radius, int x, int y) {System.out.println("红色");}
}
// 创建一个形状
public abstract class Shape {public Graph graph;public Shape(Graph graph){this.graph = graph;}public abstract void draw();
}
// 圆形
public class Circle extends Shape{private int radius;private int x;private int y;public Circle(int radius, int x, int y, Graph graph) {super(graph);this.radius = radius;this.x = x;this.y = y;}@Overridepublic void draw() {System.out.println("圆形");graph.drawGraph(radius, x, y);}
}
@Test(description = "桥接模式")public void bridgePatternTest(){//创建圆形Shape shape = new Circle(10, 100, 100, new RedGraph());shape.draw();}

 GO:

package bridgeimport "fmt"// 桥接模式// IMsgSender 消息发送接口
type IMsgSender interface {// Send 发送动作函数Send(msg string) error
}// EmailMsgSender发送邮件
// 可能还有 电话、短信等各种实现
type IMsgReceiver struct {emails []string
}func (I IMsgReceiver) Send(msg string) error {// 这里去发送消息fmt.Println(msg, "消息发送成功")return nil
}func NewEmailMsgSender(emails []string) *IMsgReceiver {return &IMsgReceiver{emails: emails}
}// INotification 通知接口
type INotification interface {// Notify 通报函数Notify(msg string) error
}// ErrorNotification 错误通知
// 后面可能还有 warning 各种级别
type ErrorNotification struct {sender IMsgSender
}// Notify 发送通知
func (e ErrorNotification) Notify(msg string) error {return e.sender.Send(msg)
}func NewErrorNotification(sender IMsgSender) *ErrorNotification {return &ErrorNotification{sender: sender}
}
func TestBridge(t *testing.T) {sender := NewEmailMsgSender([]string{"test@test.com"})n := NewErrorNotification(sender)err := n.Notify("test msg")assert.Nil(t, err)
}

http://www.ds6.com.cn/news/116843.html

相关文章:

  • 网站套餐报价宁波seo优化
  • wordpress 前台登录插件引擎seo如何优化
  • 上海做家庭影院的公司网站安卓优化大师最新版
  • 武汉做网站gaiqun江门网站定制多少钱
  • 网站经营武汉seo公司出 名
  • asp政府单位网站源码程序郑州外贸网站推广
  • html网页模板网站优化网站视频
  • 东莞网络营销型网站自己网站怎么推广
  • 网站设计与建设难吗成都seo优化推广
  • 去掉博客网站链接后面的wordpress百度公司高管排名
  • 南昌网站建设_南昌做网站公司南宁网络推广外包
  • 西安网站建设怎样找资源
  • 深圳网站建设公司排名最打动人心的广告语
  • 交流建筑的网站城市更新论坛破圈
  • 做网站什么好郑州seo关键词
  • 2019年做网站还有前景吗软文写作网站
  • 网站怎么做让PC和手机自动识别搜狐三季度营收多少
  • 知名网站制作电商平台开发
  • 美工网站设计新站整站优化
  • 做毕业网站的流程成都百度seo推广
  • 隆尧网站百度有哪些app产品
  • 优对 网站开发网络营销公司怎么注册
  • 一站式织梦网站模板网站的优化与推广分析
  • phpwind怎么做网站网店如何推广
  • asp.net 建立网站吗seo网站编辑优化招聘
  • 网站开发的价格互联网推广方案怎么写
  • 下面不属于网络推广方法南京seo全网营销
  • 做网站销售的话术app推广实名认证接单平台
  • 做一款app需要网站吗软件制作
  • 仪器仪表公司网站模版网页制作的软件有哪些