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

建筑资料下载网seo合作

建筑资料下载网,seo合作,张家港专业网站建设,互联网建设及服务领域信用建设概念: 桥接模式是一种结构型设计模式,它将抽象和实现分离,使它们可以独立地变化。通过使用桥接模式,可以将一个类的抽象部分与其具体实现部分解耦,并且可以在运行时动态地选择不同的实现。 特点: 将抽象…

概念

桥接模式是一种结构型设计模式,它将抽象和实现分离,使它们可以独立地变化。通过使用桥接模式,可以将一个类的抽象部分与其具体实现部分解耦,并且可以在运行时动态地选择不同的实现。

特点

  1. 将抽象和实现分离,使它们可以独立变化。
  2. 通过组合而不是继承来连接抽象和实现。
  3. 提高了系统的可扩展性、灵活性和可维护性。

优点

  1. 解耦了抽象和具体实现,使得二者能够独立进行扩展。
  2. 提供了更好的灵活性,在运行时能够动态地切换或替换具体实现。
  3. 对于客户端来说,隐藏了底层的细节。

缺点

  1. 增加了系统复杂度,需要额外创建多个类以及相应的关联关系。
  2. 在某些情况下可能会导致过度设计。

适用场景

  1. 当一个类存在两个或多个独立变化的维度时(例如颜色与形状),并且希望避免使用大量子类组合时。
  2. 当需要在运行时动态选择不同的具体实现时。
  3. 当希望将抽象和实现部分分离,以便独立进行扩展和修改时。

实现方式

抽象化(Abstraction)角色通过一个成员变量持有具体实施者(Concrete Implementor)角色的引用。这个成员变量充当了抽象化角色和具体实施者角色之间的桥梁。通过将抽象化角色和具体实施者角色解耦,使得它们可以独立地进行扩展和修改。

实现代码:

// 实施者接口(Implementor)
interface DrawingAPI {void drawCircle(double x, double y, double radius);
}// 具体实施者类(Concrete Implementor)实现实施者接口
class DrawingAPI1 implements DrawingAPI {@Overridepublic void drawCircle(double x, double y, double radius) {System.out.printf("Drawing Circle[ API 1 ]: (%f,%f) with radius %f\n", x, y, radius);}
}class DrawingAPI2 implements DrawingAPI {@Overridepublic void drawCircle(double x, double y, double radius) {System.out.printf("Drawing Circle[ API 2 ]: (%f,%f) with radius %f\n", x, y, radius);}
}// 抽象化类(Abstraction)
abstract class Shape {protected DrawingAPI drawingAPI;protected Shape(DrawingAPI drawingAPI) {this.drawingAPI = drawingAPI;}public abstract void draw();
}// 扩展抽象化类(Refined Abstraction)
class CircleShape extends Shape {private double x, y, radius;public CircleShape(double x, double y, double radius, DrawingAPI drawingAPI) {super(drawingAPI);this.x = x;this.y = y;this.radius = radius;}@Overridepublic void draw() {drawingAPI.drawCircle(x, y, radius);}
}public class Main {public static void main(String[] args) {Shape redCircle = new CircleShape(100.0f, 100.0f, 10.0f,new DrawingAPI1());Shape greenCircle = new CircleShape(200.0f, 200.0f, 20.0f,new DrawingAPI1());redCircle.draw();greenCircle.draw();}
}

在上述示例中,我们定义了一个接口 DrawingApi 来表示实施者的行为,并有两个具体实现类 DrawingApi1  DrawingApi2。然后,我们创建了一个抽象类 Shape,它包含一个成员变量 drawingApi 来持有具体实施者的引用,并提供了一个抽象方法 draw()。最后,我们创建了扩展抽象化的子类 CircleShape,它通过调用 drawingApi 的方法来实现具体的绘制逻辑。

在主函数中,我们创建了两个不同颜色的圆形对象,并调用它们的 draw() 方法来进行绘制。由于抽象化角色和具体实施者角色解耦,我们可以轻松地切换不同的具体实施者类来改变绘制效果。

存在问题:

  1. 桥接模式增加了额外的类和关联关系,导致系统复杂度增加。
  2. 如果只有少量的维度需要进行分离,则使用桥接模式可能会显得过于冗余。

http://www.15wanjia.com/news/17811.html

相关文章:

  • 新闻网站建设中ASP的应用研究青岛的seo服务公司
  • 中铝国际山东建设有限公司网站百度账号查询
  • vue做的商城网站自建网站平台有哪些
  • 策划一场网络营销活动西安百度网站快速优化
  • 政府网站图解怎么做长尾关键词查询
  • 网站建设中故障排除方法网站推广和宣传的方法
  • 室内设计师简历内容网站推广优化排名教程
  • 网站建设中高低端区别长沙优化排名
  • 手机论坛网站怎么做品牌推广营销平台
  • 锦州做网站哪家好seo搜索引擎优化报价
  • 网站建设邮箱百度商店应用市场
  • 自己做网站服务器可以吗竞价专员是做什么的
  • 电子商务网站界面设计厦门关键词排名提升
  • 网站开发工作seo教程seo教程
  • 青岛网站开发哪家好网盘手机app官网下载
  • 创网站 灵感市场调研的方法有哪些
  • 阿里云linux主机如何添加2个网站软文广告经典案例100字
  • 随州做网站百度网页版怎么切换
  • php 公安网站源码百度推广首页
  • 教育网站制作网站优化外包顾问
  • 建构网站西安真实的优化排名
  • 盗版网站怎么做的电商网站订烟平台
  • 网站建设服务的风险网络推广费用预算表
  • 株洲网站建设费用广州seo服务公司
  • 如何查看网站备案信息新网站百度收录要几天
  • 一个好的网站内页大概做多少代做seo排名
  • 网站建设的现状和未来sem公司
  • 建设购物网站的目的微信营销是什么
  • 济南网站的公司哪家好9个广州seo推广神技
  • 广州网站建设快速排名软文怎么写吸引人