java 设计模式--桥接
来源:互联网 发布:搭建yum仓库 编辑:程序博客网 时间:2024/05/22 01:47
《一》 桥接
将抽象部分与实现部分分离,使它们都可以独立的变化。
在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化。
传统方法
class Road {
void run() {
System.out.println(“路”);
}
}
//市区街道
class Street extends Road {
void run() {
System.out.println(“市区街道”);
}
}
//高速公路
class SpeedWay extends Road {
void run() {
System.out.println(“高速公路”);
}
}
//小汽车在市区街道行驶
class CarOnStreet extends Street {
void run() {
System.out.println(“小汽车在市区街道行驶”);
}
}
//小汽车在高速公路行驶
class CarOnSpeedWay extends SpeedWay {
void run() {
System.out.println(“小汽车在高速公路行驶”);
}
}
//公交车在市区街道行驶
class BusOnStreet extends Street {
void run() {
System.out.println(“公交车在市区街道行驶”);
}
}
//公交车在高速公路行驶
class BusOnSpeedWay extends SpeedWay {
void run() {
System.out.println(“公交车在高速公路行驶”);
}
}
//测试
public static void main(String[] args) {
//小汽车在高速公路行驶 CarOnSpeedWay carOnSpeedWay = new CarOnSpeedWay(); carOnSpeedWay.run(); //公交车在市区街道行驶 BusOnStreet busOnStreet = new BusOnStreet(); busOnStreet.run();
}
应用设计模式
abstract class AbstractRoad{
AbstractCar aCar;
void run(){};
}
abstract class AbstractCar{
void run(){};
}
class Street extends AbstractRoad{
@Override
void run() {
// TODO Auto-generated method stub
super.run();
aCar.run();
System.out.println(“在市区街道行驶”);
}
}
class SpeedWay extends AbstractRoad{
@Override
void run() {
// TODO Auto-generated method stub
super.run();
aCar.run();
System.out.println(“在高速公路行驶”);
}
}
class Car extends AbstractCar{
@Override
void run() {
// TODO Auto-generated method stub
super.run();
System.out.print(“小汽车”);
}
}
class Bus extends AbstractCar{
@Override
void run() {
// TODO Auto-generated method stub
super.run();
System.out.print(“公交车”);
}
}
- java 设计模式--桥接
- java 设计模式 之 桥接
- [Java] JAVA设计模式
- Java设计模式--Java设计模式介绍
- 《设计模式》之Java解读--桥接Bridge
- JAVA设计模式:桥接(Bridge)
- Java设计模式-模板设计
- java设计模式-----(设计原则)
- Java设计模式-设计原则
- java设计模式-观察者模式
- Java设计模式-----Singleton模式
- Java设计模式-----Command模式
- Java设计模式-----State模式
- Java设计模式-----Composite模式
- Java设计模式 -- 策略模式
- java设计模式-----策略模式
- java设计模式_Composite模式
- java 设计模式-策略模式
- 301 SDN
- 超分辨率知识总结
- CSS
- 三种常用数据标准化方法
- java日期处理专题:java 日期格式化
- java 设计模式--桥接
- Maven笔记
- windows编译opencv3.2
- 关于java的基础---集合
- 详解css中px、em和rem的区别
- 302 NFV
- SpringMVC的各种参数绑定方式
- 方正“四人帮”落马拉开中国金融反腐风暴的大幕
- C语言二维数组与数组指针和指针数组的应用