zoukankan      html  css  js  c++  java
  • 桥接模式

    桥接模式(Bridge),使它的抽象部分与实现部分分离,使它们都可以独立的变化。

    什么叫抽象与它的实现分离,这并不是说,让抽象类与其派生类分离,因为这没有任何意义。
    实现指抽象类与它的派生类来实现自己的对象。

    代码如下:

    1 public abstract class Implementor {
    2     public abstract void operation();
    3 }
    Implementor
     1 /**
     2  *派生类ConcreteImplementorA
     3  */
     4 public class ConcreteImplementorA extends Implementor{
     5 
     6     @Override
     7     public void operation() {
     8         System.out.println("具体实现A的执行方法");
     9         
    10     }
    11 
    12 }
    ConcreteImplementorA
    1 public class ConcreteImplementorB extends Implementor{
    2 
    3     @Override
    4     public void operation() {
    5         System.out.println("具体实现B的执行方法");
    6         
    7     }
    8 
    9 }
    ConcreteImplementorB
     1 public class Abstraction {
     2     protected Implementor implementor;
     3 
     4     public void operation(){
     5         implementor.operation();
     6     }
     7     public Implementor getImplementor() {
     8         return implementor;
     9     }
    10 
    11     public void setImplementor(Implementor implementor) {
    12         this.implementor = implementor;
    13     }
    14     
    15     
    16 }
    Abstraction
    1 public class RefineAbstraction extends Abstraction{
    2     @Override
    3     public void operation() {
    4         super.operation();
    5     }
    6 }
    RefineAbstraction
    1 public class BridgeTest {
    2     public static void main(String[] args) {
    3         Abstraction ab = new RefineAbstraction();
    4         ab.setImplementor(new ConcreteImplementorA());
    5         ab.operation();
    6         ab.setImplementor(new ConcreteImplementorB());
    7         ab.operation();
    8     }
    9 }
    test
    具体实现A的执行方法
    具体实现B的执行方法
    测试打印
  • 相关阅读:
    C# 消息队列 RabbitMQ
    C# webapi简单学习
    Navicat Premium 12注册机使用教程
    .net WCF简单练习
    MSDN 我告诉你(资源库)
    Dapper查询返回Datatable
    day55 无连接,无状态,会话跟踪、cookie、django中操作cookie、session、django中操作session
    day54 锁和事务、ajax、中间件
    day53 url别名反向解析、ORM多表操作、聚合查询、分组查询、F查询、Q查询
    day52
  • 原文地址:https://www.cnblogs.com/cai170221/p/13389372.html
Copyright © 2011-2022 走看看