当前位置: 首页 > 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.pierceye.com/news/683373/

相关文章:

  • 网站建设项目怎么写新网站一般多久收录
  • 什么网站可以免费发广告合肥做网站一般多少钱
  • 企业网站优化的方式大安市网站
  • 镇江专业网站建设制作wordpress调查插件
  • 桂林网站制作多少钱最好的网站开发公司
  • 广州网站开发公司排名广州从化建设网站官网
  • 网站备案在杭州注册公司需要什么条件
  • 购买域名做销售网站可以吗河北邢台刚刚发布的紧急通知
  • 安溪建设局网站政务网站建设信息
  • 如何做公司自己的网站首页网站建设的钱计入什么科目
  • 网站建设公司行业免费下载网站模版
  • 海外做淘宝网站网站有关于我们的好处
  • 给别人做网站挣钱吗怎么建设推广网站
  • 南宁市网站开发深圳制作app
  • 临海大经建设集团网站雄安做网站
  • 网站设计多少钱通桥小学的网站建设
  • 上海制作网站的公司做彩票网站违法吗
  • ps软件手机版下载百度seo工具
  • 新乡网站关键词优化建设局网站信息管理制度
  • 海南论坛网站建设网站建设怎么放到云空间
  • 中山 灯饰 骏域网站建设专家网站建设需求范文
  • 东光网站建设淘宝店铺装修苏州网站建设服务
  • 平台型网站建设预算表哈尔滨网站制作多少钱
  • 手机网站焦点图装修房子的流程和顺序
  • 做网站一个月赚多少和一起做网店类似的网站
  • 网站的栏目有什么名字中文网站建设技术解决方案
  • wordpress首页非常慢网站优化推广seo
  • 成都建设银行网站北京建设工程招标网
  • 国美电器网上商城给网站做seo的必要性
  • 网站制作公司资质dw网页设计的一般步骤