zoukankan      html  css  js  c++  java
  • 【java设计模式】【结构模式Structural Pattern】装饰模式Decorator Pattern

     1 public class Client {
     2     public static void main(String[] args) {
     3         Component component=new ConcreteComponent();
     4         component=new ConcreteDecoratorA(component);
     5         component=new ConcreteDecoratorB(component);
     6         component.doSth();
     7     }
     8 }
     9 interface Component{
    10     void doSth();
    11 }
    12 class ConcreteComponent implements Component{
    13     @Override
    14     public void doSth() {
    15         System.out.println("This is ConcreteComponent.doSth()");
    16     }
    17 }
    18 abstract class Decorator implements Component{}
    19 class ConcreteDecoratorA extends Decorator{
    20     private Component component;
    21     public ConcreteDecoratorA(Component component){
    22         this.component=component;
    23     }
    24     @Override
    25     public void doSth() {
    26         concreteDecoratorA_method();
    27         component.doSth();        
    28     }
    29     public void concreteDecoratorA_method(){
    30         System.out.println("This is ConcreteDecoratorA.concreteDecoratorA_method()");
    31     }
    32 }
    33 class ConcreteDecoratorB extends Decorator{
    34     private Component component;
    35     public ConcreteDecoratorB(Component component){
    36         this.component=component;
    37     }
    38     @Override
    39     public void doSth() {        
    40         concreteDecoratorB_method();
    41         component.doSth();
    42     }
    43     public void concreteDecoratorB_method(){
    44         System.out.println("This is ConcreteDecoratorB.concreteDecoratorB_method()");
    45     }
    46 }
  • 相关阅读:
    简单查询
    Scott用户表
    记一次Sqoop抽数据异常
    Flink+Druid构建实时OLAP的探索
    客户端埋点实时OLAP指标计算方案
    Kafka服务不可用(宕机)问题踩坑记
    实时计算-多级订单金额,及下级人数
    Apache Druid0.15.0安装方式
    superset安装文档
    Scala的常用小技巧
  • 原文地址:https://www.cnblogs.com/xiongjiawei/p/6840680.html
Copyright © 2011-2022 走看看