第十篇 设计模式--桥接模式

来源:互联网 发布:软件开发的关键技术 编辑:程序博客网 时间:2024/05/12 11:55

定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。

代码:


package bridge_model;/** * @author naivor *桥接模式-场景类 */public class BirdgeModel {public static void main(String[] args) {Abstraction abstraction=new AbstractionA();//在整个系统中,abstraction和implementor都可以独立的变化Implementor implementor=new ImplementorA();//比如任意一个或全部换成B类型类abstraction.setImplementor(implementor);abstraction.operate();}}/** * @author naivor *桥接模式-实现部分抽象类 */abstract class Implementor{public abstract void doSomething();}/** * @author naivor *桥接模式-实现部分类A */class ImplementorA extends Implementor{@Overridepublic void doSomething() {//ImplementorA业务处理逻辑}}/** * @author naivor *桥接模式-实现部分类B */class ImplementorB extends Implementor{@Overridepublic void doSomething() {//ImplementorB业务处理逻辑B}}/** * @author naivor *桥接模式-抽象部分抽象类 */abstract class Abstraction{private Implementor implementor;public void setImplementor(Implementor implementor){this.implementor=implementor;}public void operate(){implementor.doSomething();};}/** * @author naivor *桥接模式-抽象部分类A */class AbstractionA extends Abstraction{@Overridepublic void operate() {// TODO Auto-generated method stubsuper.operate();doOtherthingA();}private void doOtherthingA(){//AbstractionA业务处理逻辑}}/** * @author naivor *桥接模式-抽象部分类B */class AbstractionB extends Abstraction{@Overridepublic void operate() {// TODO Auto-generated method stubsuper.operate();doOtherthingB();}private void doOtherthingB(){//AbstractionA业务处理逻辑}}


0 0
原创粉丝点击