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

古色古香 网站模板免费建站软件哪个好

古色古香 网站模板,免费建站软件哪个好,wordpress管理员手册,物联网 网站开发桥接模式(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.15wanjia.com/news/195569.html

相关文章:

  • 上海网站建设最好的公司南京网络推广网站
  • 网站开发中加入cad功能如何做直播做菜视频网站
  • 建站平台免费加盟中国石化工程建设公司网站
  • 天水 网站建设 招聘微信公众号手机上传wordpress
  • 在哪个网站可以做车年检网页设计图片大小设置
  • 与做网站有关的参考文献五常网站建设
  • 网站用户互动网站建设私活
  • 网站建设公司开票开什么内容做付费软件网站
  • 自己怎么做网站赚钱厦门网站建设培训班
  • 一般网站建设需求有哪些企业做网站还是做平台好
  • 莱芜住房和城乡建设厅网站网店开店流程
  • 网站设计师薪资江西省飞宏建设工程有限公司 网站
  • 房地产中介网站深圳龙岗建网站公司
  • python+网站开发+prfwordpress自动添加动态内容
  • 佛山做企业网站莱州网监局
  • 淘宝客一定要建立网站天津企业网站模板建站哪家好
  • 机场网站建设需求邓州网站推广
  • 淘客类网站如何做排名nas无公网wordpress
  • 写网站的教程泉州关键词排名
  • 有关网站建设的毕业设计网站建设课程设计报告
  • 淘宝客怎么做推广网站网站建设 漳州
  • 做网站行业网站模板颜色
  • 江苏建设标准网站网站开发能自学吗
  • 官方网站面膜做代理东莞 包装制品 东莞网站建设
  • 做淘客网站简单吗iis做网站
  • 在做网站编代码网页导航条中的文字出现在导航条的下方怎莫解决公司做网站排名
  • 祥符网站建设网站开发大概要多少钱
  • 网站建设前端学什么语言创业平台
  • 网站建设便宜的公司哪家好老铁推荐个2021网站好吗
  • app网站模板下载不了Windows下配置WordPress