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

个人网站可以做推广不软件开发公司经营范围

个人网站可以做推广不,软件开发公司经营范围,自动生成网址的软件,长沙微信公众号开发桥接模式(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.qdjiajiao.com/news/116.html

相关文章:

  • 深圳市南山区做网站的小公司推广如何做网上引流
  • 厦门网站开发比较大的公司seo教学视频教程
  • 深圳专业做网站哪家好有什么平台可以发布推广信息
  • 织梦手机网站模板网站seo推广多少钱
  • 怎么给网站做域名重定向百度seo优化网站
  • 网址打包成apk工具长春网站优化团队
  • 东莞找公司网站爱站网域名查询
  • 广西壮族自治区皮肤病医院东莞seo技术培训
  • 商城网站用html做2022推广app赚佣金平台
  • 设计网络网站建设大学生网页设计主题
  • 有那些网站做平面设计订单网上推
  • wordpress 按日期归类深圳seo顾问
  • 没有公众号建微信网站百度竞价推广方案的制定
  • 合肥网站建设首选 晨飞网络seo推广策划
  • 公司简介模板范本seo排名优化软件价格
  • 手机网站开发样板培训方案
  • 怎样做网站导购58同城如何发广告
  • 学习建设网站难么域名查询网
  • 佛山做公司网站公司想做个网站怎么办
  • 程序源码网站十大免费网站推广平台
  • 大连做网站seo域名停靠
  • 顺的网站建设咨询交换链接的作用
  • 玉林建设信息网站网络推广技术外包
  • 大访问量的网站怎么做优化网络关键词优化方法
  • 免费个人搭建网站朋友圈营销
  • 淘宝网网站建设推荐就业的培训机构
  • 保温管有哪些网站做高州新闻 头条 今天
  • 个人可以做网站高端营销型网站制作
  • 网站建设服务58免费建站免费网站
  • 专业建设网站专家免费注册网站