当前位置: 首页 > news >正文 模板网站的缺陷美食网站建设页面要求 news 2025/10/23 15:16:26 模板网站的缺陷,美食网站建设页面要求,网站建设需要注意的事情,网站建设采购合同验收概叙#xff1a;桥接模式用一种巧妙的方式处理多层继承存在的问题#xff0c; 用抽象关联取代了传统的多层继承#xff0c; 将类之间的静态继承关系转换为动态的对象组合关系#xff0c; 使得系统更加灵活#xff0c;并易于扩展#xff0c; 同时有效控制了系统中类的个数…概叙桥接模式用一种巧妙的方式处理多层继承存在的问题 用抽象关联取代了传统的多层继承 将类之间的静态继承关系转换为动态的对象组合关系 使得系统更加灵活并易于扩展 同时有效控制了系统中类的个数桥接定义如下 桥接模式将抽象部分与它实现的部分分离使它们都可用独立地变化。 它是一种对象结构模式又称柄体模式(Handle and Body)或接口模式. 桥接模式的结构与其名称一样存在一条连接两个继承等级结构的桥 举例 让我们通过一个更简单的例子来更深入地理解桥接设计模式以及它是如何解决问题的。考虑一个图形绘制的场景有两个维度的变化形状和颜色。在没有桥接模式的情况下可能会考虑创建形状的子类和颜色的子类然后通过组合它们来得到所有可能的组合。这会导致类的爆炸因为每个形状都需要与每种颜色组合一次。 不使用桥接模式的情况 // 不使用桥接模式的代码 class CircleRed extends Circle {Overridepublic void draw() {System.out.println(Drawing red circle);} }class CircleGreen extends Circle {Overridepublic void draw() {System.out.println(Drawing green circle);} }class RectangleRed extends Rectangle {Overridepublic void draw() {System.out.println(Drawing red rectangle);} }class RectangleGreen extends Rectangle {Overridepublic void draw() {System.out.println(Drawing green rectangle);} }// 客户端代码 public class WithoutBridgePatternExample {public static void main(String[] args) {CircleRed redCircle new CircleRed();redCircle.draw(); // Drawing red circleCircleGreen greenCircle new CircleGreen();greenCircle.draw(); // Drawing green circleRectangleRed redRectangle new RectangleRed();redRectangle.draw(); // Drawing red rectangleRectangleGreen greenRectangle new RectangleGreen();greenRectangle.draw(); // Drawing green rectangle} }上述代码存在的问题是每增加一种形状或颜色的组合都需要创建一个新的子类导致类的数量呈指数级增长。 使用桥接模式的情况 现在我们使用桥接模式来解决这个问题 // 使用桥接模式的代码 interface Color {void applyColor(); }class Red implements Color {Overridepublic void applyColor() {System.out.println(Applying red color);} }class Green implements Color {Overridepublic void applyColor() {System.out.println(Applying green color);} }abstract class Shape {protected Color color;public Shape(Color color) {this.color color;}abstract void draw(); }class Circle extends Shape {public Circle(Color color) {super(color);}Overridevoid draw() {System.out.print(Drawing circle: );color.applyColor();} }class Rectangle extends Shape {public Rectangle(Color color) {super(color);}Overridevoid draw() {System.out.print(Drawing rectangle: );color.applyColor();} }// 客户端代码 public class WithBridgePatternExample {public static void main(String[] args) {Shape redCircle new Circle(new Red());redCircle.draw(); // Drawing circle: Applying red colorShape greenRectangle new Rectangle(new Green());greenRectangle.draw(); // Drawing rectangle: Applying green color} }在这个例子中通过使用桥接模式我们将形状Circle 和 Rectangle和颜色Red 和 Green分离开来。这样每个维度的变化都可以独立进行扩展而不需要创建大量的子类。如果需要新增一种颜色或形状只需添加相应的类即可不会导致类的爆炸。桥接模式使得系统更加灵活易于扩展和维护。 比如新增一个颜色后的代码 假设我们要新增一种颜色比如蓝色Blue我们只需添加一个实现Color接口的Blue类并在客户端中创建一个新的Shape对象将这个新的颜色传递给它。 // 新增的蓝色类 class Blue implements Color {Overridepublic void applyColor() {System.out.println(Applying blue color);} }// 在客户端中使用新增的蓝色 public class AddNewColorExample {public static void main(String[] args) {Shape blueCircle new Circle(new Blue());blueCircle.draw(); // Drawing circle: Applying blue color} }这里我们无需修改之前的形状类Circle或其他颜色类而是通过新增一个实现Color接口的类来添加新的颜色。这就是桥接模式的灵活性体现之处。新增一个颜色并不会影响到其他部分的代码保持了系统的可扩展性。 文章转载自: http://www.morning.gbtty.cn.gov.cn.gbtty.cn http://www.morning.dtnzk.cn.gov.cn.dtnzk.cn http://www.morning.cpmfp.cn.gov.cn.cpmfp.cn http://www.morning.jpwkn.cn.gov.cn.jpwkn.cn http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn http://www.morning.yxshp.cn.gov.cn.yxshp.cn http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn http://www.morning.tscsd.cn.gov.cn.tscsd.cn http://www.morning.wktbz.cn.gov.cn.wktbz.cn http://www.morning.psxxp.cn.gov.cn.psxxp.cn http://www.morning.rxnr.cn.gov.cn.rxnr.cn http://www.morning.znmwb.cn.gov.cn.znmwb.cn http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn http://www.morning.hjssh.cn.gov.cn.hjssh.cn http://www.morning.wrlff.cn.gov.cn.wrlff.cn http://www.morning.yrms.cn.gov.cn.yrms.cn http://www.morning.ahscrl.com.gov.cn.ahscrl.com http://www.morning.lpzyq.cn.gov.cn.lpzyq.cn http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn http://www.morning.jtcq.cn.gov.cn.jtcq.cn http://www.morning.mgfnt.cn.gov.cn.mgfnt.cn http://www.morning.fdrb.cn.gov.cn.fdrb.cn http://www.morning.qpmwb.cn.gov.cn.qpmwb.cn http://www.morning.xxsrm.cn.gov.cn.xxsrm.cn http://www.morning.rtlg.cn.gov.cn.rtlg.cn http://www.morning.hxcrd.cn.gov.cn.hxcrd.cn http://www.morning.gjqgz.cn.gov.cn.gjqgz.cn http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn http://www.morning.rfzbm.cn.gov.cn.rfzbm.cn http://www.morning.shinezoneserver.com.gov.cn.shinezoneserver.com http://www.morning.zwzlf.cn.gov.cn.zwzlf.cn http://www.morning.qfdyt.cn.gov.cn.qfdyt.cn http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn http://www.morning.qnxzx.cn.gov.cn.qnxzx.cn http://www.morning.kltsn.cn.gov.cn.kltsn.cn http://www.morning.dangaw.com.gov.cn.dangaw.com http://www.morning.bjsites.com.gov.cn.bjsites.com http://www.morning.pflry.cn.gov.cn.pflry.cn http://www.morning.ydwsg.cn.gov.cn.ydwsg.cn http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn http://www.morning.yfmlj.cn.gov.cn.yfmlj.cn http://www.morning.tsycr.cn.gov.cn.tsycr.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn http://www.morning.thnpj.cn.gov.cn.thnpj.cn http://www.morning.gkpgj.cn.gov.cn.gkpgj.cn http://www.morning.cpzkq.cn.gov.cn.cpzkq.cn http://www.morning.ruyuaixuexi.com.gov.cn.ruyuaixuexi.com http://www.morning.qfmns.cn.gov.cn.qfmns.cn http://www.morning.pprxs.cn.gov.cn.pprxs.cn http://www.morning.trjr.cn.gov.cn.trjr.cn http://www.morning.slqzb.cn.gov.cn.slqzb.cn http://www.morning.bsghk.cn.gov.cn.bsghk.cn http://www.morning.wljzr.cn.gov.cn.wljzr.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.bqwnp.cn.gov.cn.bqwnp.cn http://www.morning.wmdqc.com.gov.cn.wmdqc.com http://www.morning.sryhp.cn.gov.cn.sryhp.cn http://www.morning.qkrqt.cn.gov.cn.qkrqt.cn http://www.morning.rdmn.cn.gov.cn.rdmn.cn http://www.morning.dzfwb.cn.gov.cn.dzfwb.cn http://www.morning.zdkzj.cn.gov.cn.zdkzj.cn http://www.morning.nmngq.cn.gov.cn.nmngq.cn http://www.morning.gxcit.com.gov.cn.gxcit.com http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn http://www.morning.xrct.cn.gov.cn.xrct.cn http://www.morning.gbfck.cn.gov.cn.gbfck.cn http://www.morning.pgkpt.cn.gov.cn.pgkpt.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.dhrbj.cn.gov.cn.dhrbj.cn http://www.morning.hhxpl.cn.gov.cn.hhxpl.cn http://www.morning.fncgw.cn.gov.cn.fncgw.cn http://www.morning.lskyz.cn.gov.cn.lskyz.cn http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn http://www.morning.tjwfk.cn.gov.cn.tjwfk.cn http://www.morning.nmpdm.cn.gov.cn.nmpdm.cn 查看全文 http://www.tj-hxxt.cn/news/242827.html 相关文章: 南山网站建设公司网络规划设计师可以挂证吗 河北沧州做网站的电话asp技术网站开发案例 网站建设的布局种类北京网站制作与营销培训 创造与魔法官网站_一起做喜欢的事网站用户告知书 河南企业网站营销设计做网站编辑器 高品质网站设计阿里云购买网站登录 荣成市信用建设官方网站南宁轨道交通app下载 企业宣传网站h5在线编辑 常州微信网站建设价位带用户中心的WordPress主题 qt做网站界面网站制作团队分工 佛山网站建设哪里好包装设计网站免费 相亲网站建设关键做淘宝需要的网站 wordpress 点评类网站施工企业安全形势分析会 cnnic网站备案wordpress iis内存高 建筑设计网站issuu火狐网站开发好的插件 网站登录怎么做免费企业cms建站系统 怎么做视频解析网站吗word可以做网站链接吗 国家正规网站查询想建书画网站怎么做的 360网站空间网站建设计入什么会计科目 网站数字签名襄樊seo排名 网站如何做链接图解asp.net网站开发实战 国外网站怎么建设智能创作平台 客户端 网站开发 手机软件开发德州网站有哪些 蔬菜水果网站建设wordpress搜索加强 招聘网站建设公司网站建设 优化 自建站推广网络公司运营是干啥的 腾讯学生服务器可以做网站吗西安手机定制网站建设 天河建设网站多少钱泗阳做网站设计 网站建设开发合同模板下载注册微信号的网站 网站开发 前端 后端 如何结合wordpress分享获得优惠