java设计模式之桥接模式
来源:互联网 发布:职业乞丐 数据 编辑:程序博客网 时间:2024/06/08 00:24
有时我们会遇到这样的业务场景,比如拿电脑来说,从类型上来看,他可以分为台式机、笔记本和平板电脑,从品牌上来看,他可以分为联想、华硕、戴尔、宏基、神舟等等,要建这些类之间的关系,就可能要建很多重复性的内容。比如联想下面有联想台式机、联想笔记本和联想平板电脑,戴尔下面有戴尔台式机、戴尔笔记本和戴尔平板电脑,这样把这些类全部建下来代码量将是非常庞大的,那么有没有一种相对简便的办法呢,那就要使用下面的桥接模式,它是用于产品的多维度发展,具体的代码实现如下:
品牌维度:
package com.bjsxt.bridge;/** * 品牌维度 * * @author yufu * */public interface Brand { void sale();}class Lenovo implements Brand { @Override public void sale() { System.out.println("销售联想"); }}class Dell implements Brand { @Override public void sale() { System.out.println("销售戴尔"); }}class Acer implements Brand { @Override public void sale() { System.out.println("销售宏基"); }}
类型维度(需要持有对品牌维度的引用):
package com.bjsxt.bridge;public class Type { Brand brand; public Type(Brand brand) { super(); this.brand = brand; } public void sale() { brand.sale(); }}class Desktop extends Type { public Desktop(Brand brand) { super(brand); } @Override public void sale() { brand.sale(); System.out.println("销售台式机"); }}class Laptop extends Type { public Laptop(Brand brand) { super(brand); } @Override public void sale() { brand.sale(); System.out.println("销售笔记本"); }}class Pad extends Type { public Pad(Brand brand) { super(brand); } @Override public void sale() { brand.sale(); System.out.println("销售平板电脑"); }}
测试代码:
package com.bjsxt.bridge;public class Client { public static void main(String[] args) { // 销售联想笔记本 Brand brand = new Lenovo(); Type type = new Laptop(brand); type.sale(); }}
输出结果:
销售联想销售笔记本
阅读全文
0 0
- Java 设计模式 之 桥接模式
- Java 设计模式 之 桥接模式
- Java 设计模式 之 桥接模式
- Java 设计模式之桥接模式
- JAVA设计模式之桥接模式
- 《Java设计模式》之桥接模式
- java设计模式之桥接模式
- Java设计模式之桥接模式
- 【Java设计模式】之桥接模式
- java设计模式之桥接模式
- java设计模式之桥接模式
- Java设计模式之桥接模式
- Java设计模式之-桥接模式
- Java设计模式之桥接模式
- java设计模式之桥接模式
- JAVA设计模式之桥接模式
- java设计模式之桥接模式
- JAVA设计模式之桥接模式
- Java内存溢出详解及解决方案
- C++转换构造函数和隐式转换函数
- 卡特兰数与算法
- java web 异常处理——转发至某个自定义的web错误页面
- 大虾对51单片机入门的经验总结
- java设计模式之桥接模式
- 《Android源码设计模式与实战》笔记1——开篇
- 轻院 1090 整数幂(多实例测试)
- STM32经典概述(干货 )
- Android Mediarecord录像完美无BUG
- 设计模式之中介者模式
- 语音播放与录音 (五分钟学会用 非常全面)
- 机器学习之逻辑回归
- javascript 排序(Sorting)算法与说明