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

网站开发前后端分离要多少钱中国关键词网站

网站开发前后端分离要多少钱,中国关键词网站,网站输入字符 显示出来怎么做,怎么做动态网站的数据库桥接模式 介绍 桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合的方式来实现,而不是继承。桥接模式通过将抽象和实现解耦,从而实现抽象和实现的分离,使得系统更加…

桥接模式

介绍

桥接模式是一种结构型设计模式,它通过将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过组合的方式来实现,而不是继承。桥接模式通过将抽象和实现解耦,从而实现抽象和实现的分离,使得系统更加灵活。

角色

  • Abstraction(抽象类): 定义抽象类,包含一个对实现接口的引用,并定义一些抽象方法。

  • RefinedAbstraction(扩充抽象类): 对抽象类进行扩充,可以继承抽象类并实现抽象方法。

  • Implementor(实现类接口): 定义实现类的接口,可以包含一些基本的操作。

  • ConcreteImplementor(具体实现类): 实现Implementor接口的具体实现类。

使用场景

当我们要实现的系统可能存在多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。

结构图

在这里插入图片描述

案例

假设我们要设计一个远程控制器,它可以控制不同的设备,比如电视和音响。使用桥接模式可以使控制器和设备之间的关系更加灵活。

代码

// Implementor(实现类接口)
interface Device {void turnOn();void turnOff();void setChannel(int channel);
}
// ConcreteImplementor(具体实现类1)
class TV implements Device {@Overridepublic void turnOn() {System.out.println("TV is turned on");}@Overridepublic void turnOff() {System.out.println("TV is turned off");}@Overridepublic void setChannel(int channel) {System.out.println("TV channel set to " + channel);}
}
// ConcreteImplementor(具体实现类2)
class Stereo implements Device {@Overridepublic void turnOn() {System.out.println("Stereo is turned on");}@Overridepublic void turnOff() {System.out.println("Stereo is turned off");}@Overridepublic void setChannel(int channel) {System.out.println("Stereo channel set to " + channel);}
}
// Abstraction(抽象类)
abstract class RemoteControl {protected Device device;public RemoteControl(Device device) {this.device = device;}public abstract void turnOn();public abstract void turnOff();public abstract void setChannel(int channel);
}
// RefinedAbstraction(扩充抽象类)
class BasicRemoteControl extends RemoteControl {public BasicRemoteControl(Device device) {super(device);}@Overridepublic void turnOn() {System.out.print("Basic remote: ");device.turnOn();}@Overridepublic void turnOff() {System.out.print("Basic remote: ");device.turnOff();}@Overridepublic void setChannel(int channel) {System.out.print("Basic remote: ");device.setChannel(channel);}
}
// RefinedAbstraction(扩充抽象类)
class AdvancedRemoteControl extends RemoteControl {public AdvancedRemoteControl(Device device) {super(device);}@Overridepublic void turnOn() {System.out.print("Advanced remote: ");device.turnOn();}@Overridepublic void turnOff() {System.out.print("Advanced remote: ");device.turnOff();}@Overridepublic void setChannel(int channel) {System.out.print("Advanced remote: ");device.setChannel(channel);}public void mute() {System.out.println("Mute");}
}
// Client(客户端)
public class BridgePatternExample {public static void main(String[] args) {// 使用桥接模式创建远程控制器和设备的组合TV tv = new TV();Stereo stereo = new Stereo();RemoteControl basicRemote = new BasicRemoteControl(tv);RemoteControl advancedRemote = new AdvancedRemoteControl(stereo);// 使用远程控制器控制设备basicRemote.turnOn();basicRemote.setChannel(5);basicRemote.turnOff();System.out.println();advancedRemote.turnOn();advancedRemote.setChannel(10);advancedRemote.turnOff();((AdvancedRemoteControl) advancedRemote).mute();}
}
http://www.khdw.cn/news/11983.html

相关文章:

  • 网站怎么做json数据seo排名怎么优化软件
  • 成都建网站比较好的公司6今天今日头条新闻
  • 网站图文列表西安百度关键词排名服务
  • 做电影电视剧网站推广电脑版百度网盘
  • 做网站首页的软件b2b免费发布信息网站
  • 江门建设银行网站google谷歌
  • 一起做网站广州批发市场云服务器
  • 微网站php源码杭州seo网
  • ps软件下载官方网站百度推广售后
  • 视觉差的网站电商培训班
  • 濮阳网站建设电话百度营销网页版
  • 换了家公司做网站如何接入备案广告联盟平台
  • 建设校园标准信息服务网站论文凡科建站客服电话
  • 阿里云服务器可以做商业网站西安网络科技公司排名
  • 网站建设 政府采购网络营销的主要方式和技巧
  • 专业做网站建设公司怎么样站点查询
  • 宁波产品网站设计模板怎么创建网站快捷方式到桌面
  • wordpress素材类主题太原seo排名优化公司
  • 做淘宝客网站制作教程创建网站步骤
  • kencms内容管理系统郑州粒米seo顾问
  • 做网站需要哪些东西搭建一个app平台需要多少钱
  • wordpress 产品链接湖南seo推广系统
  • 做网做网站建设短视频精准获客系统
  • 红酒 网站 模板高级搜索引擎技巧
  • wordpress 安装 404seo教程搜索引擎优化入门与进阶
  • 如何看小程序是哪家公司做的湖北百度seo排名
  • lamp和wordpress站长工具seo综合查询是什么
  • 各大公司开源网站优化推广网站推荐
  • 网站html5自适应屏幕山西seo谷歌关键词优化工具
  • 做网站域名不备案会怎么样北京网站开发