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

建站模板工程造价电脑软件制作

建站模板工程造价,电脑软件制作,做网站为什么要域名 解析绑定,公司推广渠道文章目录 引言桥接模式简介定义与用途#xff1a;实现方式 使用场景优势与劣势桥接模式在Spring中的应用绘图示例代码地址 引言 想象你正在开发一个图形界面应用程序#xff0c;需要支持多种不同的窗口操作系统。如果每个系统都需要写一套代码#xff0c;那将是多么繁琐实现方式 使用场景优势与劣势桥接模式在Spring中的应用绘图示例代码地址 引言 想象你正在开发一个图形界面应用程序需要支持多种不同的窗口操作系统。如果每个系统都需要写一套代码那将是多么繁琐桥接模式让这一切变得简单它分离了应用程序的界面抽象部分和实际操作的操作系统实现部分。 桥接模式简介 桥接模式属于结构型模式桥接模式是一种用于把抽象化与实现化解耦使得二者可以独立变化的设计模式。它通过提供抽象层和实现层之间的桥接结构来实现这种分离。 定义与用途 桥接模式主要用于将抽象部分与其实现部分分离从而使它们都可以独立地变化。它通过提供一个桥接结构来实现这种分离这种模式用于把继承关系转化为关联关系减少类之间的耦合度。 实现方式 将抽象层Abstraction和实现层Implementor分离开来。抽象层持有实现层的引用。两层之间通过桥接进行通信。 使用场景 独立扩展维度 当你希望独立扩展一个类的两个或多个维度时。例如假设你有一个形状类它可以有不同的颜色。通过桥接模式形状和颜色可以独立变化而不是为每种颜色的每种形状都创建一个类。 不希望固定功能实现 当你不希望在编译时就固定使用某个功能的实现而是想在运行时动态切换时。桥接模式提供了这种灵活性。 类数量爆炸问题 当类的数量爆炸性增长特别是多层继承导致系统难以管理和扩展时桥接模式通过组合替代继承减少类的数量。 共享资源管理 在需要管理和共享资源的场景下如不同的界面或数据库连接桥接模式可以帮助独立管理这些资源。 隔离抽象和实现 当一个系统的抽象和实现需要独立开发且需要保持对客户端的透明性时桥接模式是理想选择。例如当一个软件需要在多个操作系统上运行其核心功能抽象与操作系统的API实现之间可以使用桥接模式来分离。 优势与劣势 优势 分离接口及其实现部分。 提高了系统的可扩展性。 灵活性和维护性增强。 客户端不受到实现部分的影响。劣势 增加了系统的理解与设计难度。 需要正确地识别系统中的两个独立变化的维度。 桥接模式在Spring中的应用 数据访问对象DAO和数据源Spring中的数据访问对象DAO模式与桥接模式有着紧密的联系。DAO提供了一组与特定数据源如JDBC、Hibernate等独立的接口而这些数据源则是其实现。这允许开发者在不同的持久化技术间切换而不需要修改DAO层的代码。例如一个应用可以从使用JDBC切换到HibernateDAO接口保持不变只需更换其具体实现。视图和控制器分离在Spring MVC中桥接模式通过将视图HTML、JSP等与控制器逻辑分离来实现。控制器处理业务逻辑然后通过模型Model将数据桥接到视图层。这种分离允许开发者独立修改视图和控制器代码提高了代码的可维护性和可测试性。AOP面向切面编程Spring的AOP也是桥接模式的一个例子。AOP允许开发者定义跨多个点的横切关注点如日志、安全等并将这些关注点与业务逻辑核心功能分离。在AOP中切面Aspect充当桥梁连接独立于核心业务逻辑的横切关注点。Spring配置与实现分离Spring框架允许通过配置文件或注解将具体的实现与抽象的定义分离。这种分离是桥接模式的一个体现它允许开发者在不修改代码的情况下更换组件的实现提高了系统的灵活性和可配置性。绘图示例 在此示例中我们通过一个名为 DrawAPI 的接口来实现桥接模式该接口作为桥接实现者并且有两个具体类 RedCircle 和 GreenCircle 实现了 DrawAPI 接口。Shape 是一个抽象类它将使用 DrawAPI 接口的对象。BridgePatternDemo我们的演示类将使用 Shape 类来绘制不同颜色的圆。 步骤 1 创建桥接实现者接口。 public interface DrawAPI {public void drawCircle(int radius, int x, int y);}步骤 2 创建实现 DrawAPI 接口的具体桥接实现类。 public class RedCircle implements DrawAPI {Overridepublic void drawCircle(int radius, int x, int y) {System.out.println(绘制圆形[ 颜色: 红色, 半径: radius , x: x , y: y ]);}}public class GreenCircle implements DrawAPI {Overridepublic void drawCircle(int radius, int x, int y) {System.out.println(绘制圆形[ 颜色: 绿色, 半径: radius , x: x , y: y ]);}}步骤 3 创建使用 DrawAPI 接口的抽象类 Shape。 public abstract class Shape {protected DrawAPI drawAPI;protected Shape(DrawAPI drawAPI){this.drawAPI drawAPI;}public abstract void draw(); } 步骤 4 创建实现 Shape 接口的具体类。 public class Circle extends Shape {private int x, y, radius;public Circle(int x, int y, int radius, DrawAPI drawAPI) {super(drawAPI);this.x x; this.y y; this.radius radius;}public void draw() {drawAPI.drawCircle(radius, x, y);} } 步骤 5 使用 Shape 和 DrawAPI 类绘制不同颜色的圆。 public class BridgePatternDemo {public static void main(String[] args) {Shape redCircle new Circle(100, 100, 10, new RedCircle());Shape greenCircle new Circle(100, 100, 10, new GreenCircle());redCircle.draw();greenCircle.draw();} } 在这个示例中通过桥接模式我们可以独立地改变抽象部分Shape和实现部分DrawAPI的代码。当我们想要改变圆的绘制方式时只需要修改或增加新的 DrawAPI 实现类而不需要改变 Shape 类及其子类。 代码地址 23种设计模式相关代码后续会逐步提交到github上方便学习欢迎指点 代码地址 https://github.com/RuofeiSun/lf-23Pattern
http://www.hkea.cn/news/14491328/

相关文章:

  • 成都明腾网站建设公司施工企业财务工作总结及工作计划
  • 网站内链规划php网站方案
  • DW做旅游网站模板带导航栏的网站
  • 连锁酒店设计网站建设洛阳市副市长到省建设厅网站
  • 酒店做爰视频网站网站怎么添加链接代码
  • 教学平台网站建设合同digging into wordpress pdf
  • 江门网站推广技巧在线推广是网站推广的首要工具
  • 四川网站建设电话php做的网站有
  • 易语言可以做网站江西机场建设集团网站
  • 国内网站空间cnc是什么意思
  • 手机网站建设找哪家杭州赛虎网站建设
  • 将自己做的网站发布到网上wordpress怎么发长文章
  • 做关于车的网站六盘水市住房和城乡建设局网站
  • 嵌入式软件开发兼职哪种语言的网站 做seo更好
  • 手机微信网站怎么做的好玩具网站建设服务公司
  • 宿迁莱布拉网站建设WordPress方糖
  • 找工作平台网站google收录提交入口
  • 国内优秀的网站设计网页开发工具软件有哪些
  • 汨罗做网站定制网站开发流程图
  • 淘宝网络营销案例分析长沙官网优化技术
  • 加快信用网站建设做外贸阿里巴巴有哪些网站
  • 想用自己电脑做服务器做个网站吗做网站用的什么服务器
  • 商城网站营销方案毕设帮做网站
  • 网站设计公司列表做公司网站有什么亮点
  • 哪家网站做公司最好昆明室内设计学校
  • 苏州建设工程质量监督网站WordPress博客程序优化
  • 公司logo设计理念说明seo怎么去优化网站
  • 企业网站改版计划书免费asp网站空间
  • 兰州电商网站建设如何在网站上添加qq
  • 网站菜单样式百度app下载安装