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

上海建设电动车官方网站网站多大需要服务器

上海建设电动车官方网站,网站多大需要服务器,网络服务商不提供哪项服务,价格比较网结构型模式-桥接模式 7.5桥接模式7.5.1概念7.5.2场景7.5.3优势 / 劣势7.5.4桥接模式可分为7.5.5外观模式7.5.6实战7.5.6.1题目描述7.5.6.2输入描述7.5.6.3输出描述7.5.6.4实战 7.5.7总结桥接模式 7.5桥接模式 7.5.1概念 ​ 桥接模式主要将抽象部分与实现部分分离开来#xf… 结构型模式-桥接模式 7.5桥接模式7.5.1概念7.5.2场景7.5.3优势 / 劣势7.5.4桥接模式可分为7.5.5外观模式7.5.6实战7.5.6.1题目描述7.5.6.2输入描述7.5.6.3输出描述7.5.6.4实战 7.5.7总结桥接模式 7.5桥接模式 7.5.1概念 ​ 桥接模式主要将抽象部分与实现部分分离开来使得它们可以相互独立地变化。抽象部分定义了一个抽象类或接口包含一些基本操作以及包含一个指向实现部分的引用。实现部分也是一个抽象类或接口定义了一些具体的操作。 7.5.2场景 ​ 比如在路上随处可见的汽车汽车和引擎之间可以使用桥接模式。抽象部分可以是一个汽车的抽象类实现部分可以是不同类型的汽车如轿车、SUV等。而引擎可以是抽象部分的扩展类实现部分可以是不同的引擎类型如电动、燃油、混油引擎等。而我们可以创建多个引擎和汽车而每个引擎和汽车之间都是独立的通过桥接模式将不同类型的汽车和引擎进行组合实现灵活的汽车配置。 7.5.3优势 / 劣势 易维护分离抽象和实现部分使得系统更容易扩展和维护可复用性提高系统的可复用性使得在不同的系统中重用抽象 / 实现部分 应用场景有限主要适用于两个独立变化的维度且维度之间都需要进行扩展增加理解难度要求开发者针对抽象层进行编程增加了理解和设计难度 7.5.4桥接模式可分为 抽象Abstraction一般是抽象类定义抽象部分的接口维护一个对实现的引用修正抽象RefinedAbstraction对抽象接口进行扩展通常对抽象化的不同维度进行变化或定制实现Implementor定义实现部分的接口提供具体的实现。该接口通常是抽象化接口的实现具体实现ConcreteImplementor实现实现化接口的具体类由这些类负责实现实现化接口定义的具体操作 7.5.5外观模式 package com.technologystatck.designpattern.mode.bridging;public class Bridging {public static void main(String[] args) {//创建具体实现化对象Implementor implementationA new ConcreteImplementationA();Implementor implementationB new ConcreteImplementationB();//使用扩充抽象化对象将实现化对象传递进去Abstraction abstractionA new RefinedAbstraction(implementationA);Abstraction abstractionB new RefinedAbstraction(implementationB);//调用抽象化的操作abstractionA.operation();abstractionB.operation();System.out.println(--------------------------------------------);ATV atv new ATV();BTV btv new BTV();RemoteControl basicRemoteForA new BasicRemoteControl(atv);RemoteControl basicRemoteForB new BasicRemoteControl(btv);basicRemoteForA.turnOn();basicRemoteForA.turnOff();basicRemoteForA.tuneChannel();basicRemoteForB.turnOn();basicRemoteForB.turnOff();basicRemoteForB.tuneChannel();} }//创建实现接口 interface Implementor{void operationImpl(); }//用电视举例电视具有开关和切换频道的功能 interface TV{void on();void off();void tuneChannel(); } //创建具体实现类实际提供服务的对象 class ConcreteImplementationA implements Implementor{Overridepublic void operationImpl() {//具体实现ASystem.out.println(具体实现A);} }class ConcreteImplementationB implements Implementor{Overridepublic void operationImpl() {//具体实现BSystem.out.println(具体实现B);} }//用电视举例创建具体实现类 class ATV implements TV{Overridepublic void on() {System.out.println(A TV is ON);}Overridepublic void off() {System.out.println(A TV is OFF);}Overridepublic void tuneChannel() {System.out.println(Turning A TV channel);} } class BTV implements TV{Overridepublic void on() {System.out.println(B TV is ON);}Overridepublic void off() {System.out.println(B TV is OFF);}Overridepublic void tuneChannel() {System.out.println(Turning B TV channel);} }//创建抽象类包含一个对实现化接口的引用 abstract class Abstraction {protected Implementor implementor;public Abstraction(Implementor implementor) {this.implementor implementor;}public void operation() {this.implementor.operationImpl();} } //用电视举例 abstract class RemoteControl{//持有一个实现化接口的引用protected TV tv;public RemoteControl(TV tv) {this.tvtv;}abstract void turnOn();abstract void turnOff();abstract void tuneChannel(); }//实现抽象类创建RefinedAbstraction类 class RefinedAbstraction extends Abstraction {private Implementor implementor;public RefinedAbstraction(Implementor implementor) {super(implementor);this.implementorimplementor;}Overridepublic void operation() {this.implementor.operationImpl();} }class BasicRemoteControl extends RemoteControl{public BasicRemoteControl(TV tv) {super(tv);}Overridevoid turnOn() {tv.on();}Overridevoid turnOff() {tv.off();}Overridevoid tuneChannel() {tv.tuneChannel();} } 7.5.6实战 7.5.6.1题目描述 小明家有一个万能遥控器能够支持多个品牌的电视。每个电视可以执行开机、关机和切换频道的操作请你使用桥接模式模拟这个操作。 7.5.6.2输入描述 第一行是一个整数 N1 N 100表示后面有 N 行输入。 接下来的 N 行每行包含两个数字。第一个数字表示创建某个品牌的遥控和电视第二个数字表示执行的操作。 其中0 表示创建 Sony 品牌的电视1 表示创建 TCL 品牌的遥控和电视 2 表示开启电视、3表示关闭电视4表示切换频道。 7.5.6.3输出描述 对于每个操作输出相应的执行结果。 7.5.6.4实战 package com.technologystatck.designpattern.mode.bridging;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int nums scanner.nextInt();scanner.nextLine();for(int i0;inums;i) {String[] input scanner.nextLine().split( );int brand Integer.parseInt(input[0]);int operation Integer.parseInt(input[1]);//根据输入的不同执行对应的操作UniversalRemoteTV universalRemoteTV null;if(brand0) {universalRemoteTV new SonyTV();}else if(brand 1) {universalRemoteTV new TCLTV();}AbstractionTV abstractionTVnull;if(operation2) {abstractionTV new PowerOperation(universalRemoteTV);}else if(operation 3) {abstractionTV new OffOperation(universalRemoteTV);}else if (operation 4) {abstractionTV new ChannelOperation(universalRemoteTV);}abstractionTV.performOperation();}} }//定义实现接口 interface UniversalRemoteTV{//定义远程遥控电视的三个功能void onTV();void offTV();void channelTV(); }//创建两个品牌电视具体实现类 class SonyTV implements UniversalRemoteTV{Overridepublic void onTV() {System.out.println(Sony TV is ON);}Overridepublic void offTV() {System.out.println(Sony TV is OFF);}Overridepublic void channelTV() {System.out.println(Switching Sony TV channel);} }class TCLTV implements UniversalRemoteTV{Overridepublic void onTV() {System.out.println(TCL TV is ON);}Overridepublic void offTV() {System.out.println(TCL TV is OFF);}Overridepublic void channelTV() {System.out.println(Switching TCL TV channel);} }//创建抽象类对一个实现的引用 abstract class AbstractionTV{protected UniversalRemoteTV universalRemoteTV;public AbstractionTV(UniversalRemoteTV universalRemoteTV){this.universalRemoteTV universalRemoteTV;}abstract void performOperation();}//创建扩充抽象化类 //打开电视操作 class PowerOperation extends AbstractionTV {public PowerOperation(UniversalRemoteTV universalRemoteTV) {super(universalRemoteTV);}Overridevoid performOperation() {universalRemoteTV.onTV();} } //关闭电视操作 class OffOperation extends AbstractionTV {public OffOperation(UniversalRemoteTV universalRemoteTV) {super(universalRemoteTV);}Overridevoid performOperation() {universalRemoteTV.offTV();} } //切换频道操作 class ChannelOperation extends AbstractionTV {public ChannelOperation(UniversalRemoteTV universalRemoteTV) {super(universalRemoteTV);}Overridevoid performOperation() {universalRemoteTV.channelTV();} } 7.5.7总结 桥接模式 优点方便将抽象部分和实现部分独立扩展不需要修改另一个部分减少系统的耦合度 总结将系统的功能分为抽象部分和实现部分两个部分独立存在 场景 不希望使用继承或者继承导致类爆炸性增长当一个类具有多个独立变化的维度时
http://www.zqtcl.cn/news/683373/

相关文章:

  • 临沂手机网站建设珠海手机网站建设价格
  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的
  • 青海手机网站建设北京网站建设推荐华网天下
  • 网站网站建设公司孩子学编程网上课程哪家好
  • 跨境电商网站建设方案书江门网页制作
  • 门户网站建设定做如何使用域名访问网站
  • 做网站后台运营这个工作怎么样建设网站销售
  • 两学一做网上答题网站做网站域名是赠送的吗
  • 江苏住房城乡建设厅网站WordPress上传Excel
  • 广州淘宝网站建设济南高新区网站建设
  • 如何注册一个网站长沙的科技公司
  • 温州网络公司网站建设永久免费云linux服务器网页
  • 中国教育网站官网网站建设是半年的持久战
  • 为什么营销型网站比普通网站建站贵常州seo排名收费
  • 商贸公司寮步网站建设极致发烧学网站建设基础
  • 二手汽车手机网站模板四川百度推广排名查询
  • 做火情监控网站需要用什么系统做一个网站多少费用
  • 成都建设网站首页贺州网站建设
  • 硚口区建设局网站海绵宝宝的网页设计html源代码
  • 旅游网站建设合同成年做羞羞的视频网站
  • 海门网站建设制作道德建设 网站
  • 苏州 规划建设局网站网页设计师培训费用图
  • 怎么做视频解析的网站QQ空间可以建设网站吗