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

肥西县城乡建设局网站做设计用的素材下载网站有哪些

肥西县城乡建设局网站,做设计用的素材下载网站有哪些,比较容易做的网站,企业简介模板100字介绍 Java桥梁模式(也称桥接模式)(Bridge Pattern)是一种设计模式,它将抽象和实现分离,使它们可以独立地变化.它通过一个大类或者一系列紧密关联的类拆分成两个独立的层次结构来实现这种分离,其中一个层次结构包含抽象类或接口,另一个层次结构包含实现类.桥梁模式使得抽象类和…

介绍

Java桥梁模式(也称桥接模式)(Bridge Pattern)是一种设计模式,它将抽象和实现分离,使它们可以独立地变化.它通过一个大类或者一系列紧密关联的类拆分成两个独立的层次结构来实现这种分离,其中一个层次结构包含抽象类或接口,另一个层次结构包含实现类.桥梁模式使得抽象类和实现类可以独立地变化,从而实现了松耦合.

在Java中,桥梁模式通常使用接口来定义抽象部分,使用抽象类来实现部分实现,并将它们通过组合的方式组合起来.抽象部分包含一个只想实现部分的引用,实现部分实现了抽象部分定义的接口.

Java桥梁模式分为以下四种角色:

  1. 抽象化角色(Abstraction):定义抽象化的接口,维护一个指向实现化对象的引用.
  2. 扩展抽象化角色(Refined Abstraction):扩展抽象化角色,通常是抽象化角色的子类,实现抽象化角色中的业务方法.
  3. 实现化角色(Implementor):定义实现化角色的接口,这个接口不一定要与抽象化角色的接口完全一致,事实上,这两个接口可以完全不同.
  4. 具体实现化角色(Concrete Implementor):具体实现化角色实现实现化角色接口,并完成具体的业务逻辑.

实现

例如,在电商网站中,可能需要支持多种支持方式,如支付宝,微信支付和银联支付等.使用桥梁模式可以轻松地添加或切换不同的支付方式,以满足用户的需求.

实现化角色

public interface PaymentImplementor {/*** 支付** @param amount*/void processPayment(double amount);
}

具体实现化角色

public class AliPaymentImplementor implements PaymentImplementor {/*** 支付** @param amount*/@Overridepublic void processPayment(double amount) {System.out.println("支付宝支付:" + amount + "元...");}
}public class WechatPaymentImplementor implements PaymentImplementor {/*** 支付** @param amount*/@Overridepublic void processPayment(double amount) {System.out.println("微信支付:" + amount + "元...");}
}public class UnionpayPaymentImplementor implements PaymentImplementor {/*** 支付** @param amount*/@Overridepublic void processPayment(double amount) {System.out.println("银联支付:" + amount + "元...");}
}

抽象化角色

public abstract class Payment {protected PaymentImplementor implementor;public Payment(PaymentImplementor implementor) {this.implementor = implementor;}/*** 支付** @param amount*/public abstract void pay(double amount);
}

扩展化抽象角色

public class OnlinePayment extends Payment{public OnlinePayment(PaymentImplementor implementor) {super(implementor);}/*** 支付** @param amount*/@Overridepublic void pay(double amount) {System.out.println("开始在线支付...");implementor.processPayment(amount);System.out.println("在线支付完成...");}
}

测试

public class Demo {public static void main(String[] args) {// 支付宝支付PaymentImplementor paymentImplementor = new AliPaymentImplementor();Payment payment = new OnlinePayment(paymentImplementor);payment.pay(100);System.out.println();// 微信支付paymentImplementor = new WechatPaymentImplementor();payment = new OnlinePayment(paymentImplementor);payment.pay(101);System.out.println();// 银联支付paymentImplementor = new UnionpayPaymentImplementor();payment = new OnlinePayment(paymentImplementor);payment.pay(102);}
}

在这里插入图片描述

这段代码是一个简单的实现了桥梁模式的示例.其中,Payment是抽象类,OnlinePayment是其子类,PaymentImplementor是接口,AliPaymentImplementor,UnionpayPaymentImplementor和WechatPaymentImplementor都是其实现类.通过这种方式,Payment类PayImplementor接口被解耦,可以独立地发展和扩展.

在这个示例中,Payment类是抽象化,不能被实例化,而是通过OnlinePayment子类进行实例化.OnlinePayment子类重写了pay方法,并调用implementor.processPayment方法,该方法由实现PaymentImplementor接口的类来是心啊,例如,AliPaymentImplementor,UnionpayPaymentImplementor和WechatPaymentImplementor.这种方式使得PaymentImplementor接口的实现类可以动态地注入到OnlinePayment类中,从而实现了不同的支付方式,而不需要修改OnlinePayment类.

总结

优点

  • 分离抽象和实现部分,使得它们可以独立变化,从而增加了系统的灵活性和可扩展性.
  • 通过抽象接口来管理对象之间的关系,更加符合面向对象编程的原则,使得系统更加易于维护和理解.
  • 桥梁模式可以避免使用继承造成的类爆炸问题,因为它似乎用了组合关系.

缺点

  • 桥梁模式增加了系统的复杂性,需要额外的抽象层,可能会导致系统的设计变得复杂.
  • 如果不恰当地设计桥梁接口和实现类,可能会导致系统的耦合度增加.

应用场景

  • 当一个类具有多个变化维度(例如,一个形状类有不同的颜色和尺寸)时,可以使用桥梁模式来将它们分离开来,从而使得系统更加灵活.
  • 当需要支持不同平台,数据库或协议时,可以使用桥梁模式来封装这些实现细节,使得客户端和实现部分可以独立变化,而不影响彼此.
  • 当需要运行时动态地切换实现时,可以使用桥梁模式来实现这种切换.
http://www.yayakq.cn/news/231130/

相关文章:

  • 网站开发如何报价做网站的广告
  • 现在那个网站做视频最赚钱手机不想访问指定网站怎么做
  • 别人用我的身份信息建设网站网站后台管理入口
  • wordpress制作小说网站模板下载打不开网页是怎么回事
  • 免费制作网站的软件怎么设计网页背景图片
  • 上海企业建设网站报价哪个视频网站有潮汕做爰视频
  • 三亚做网站公司免费建站哪家性价比高
  • 网上做公益的网站网站建设中企动力最佳a5
  • 企业网站模板下载哪家公司强wordpress后台超慢
  • 学做网站要学哪些前端开发工作岗位
  • 不懂见网站怎么办网站建设是管理费用的哪项费用
  • flash网站推荐h5网页模板下载
  • 天津做网站推广的公司wordpress运行时间
  • wordpress电影网站主题重庆做网站开发的公司
  • 网站建设合同或方案书东方市住房和城乡建设局网站
  • 网站做跳转wordpress获取分类
  • 网站开发简历的项目经验网站开发预付款账务处理
  • 做网站和网络推广山东新增5个高风险地区
  • 离线网站制作微商城 分销平台
  • 备案名称和网站名称不一致vivo官网网站服务
  • 响应式网站开发方法备案价网站
  • 免费w网站建设烟台网站建设哪家专业
  • 企业网站程序带wap网站安全建设需求分析报告
  • 网站前台修改后台对接不上重庆市建设工程造价信息网查询
  • 星河网站建设wordpress设置关键词设置
  • 网站建设企业网站制作永顺县建设局网站
  • 深圳网站的公司扬中门户网
  • 德州市德城区城乡建设局网站多少钱算受贿
  • 杭州网站设计加强网站人才建设
  • 网站报404错误怎么解决办法python编程软件手机版