设计模式之外观模式


/**
 * 外观模式
 */
public class Facade {

    private IServiceA serviceA;

    private IServiceB serviceB;

    private IServiceC serviceC;

    public Facade(){
        serviceA = new ServiceA();
        serviceB = new ServiceB();
        serviceC = new ServiceC();
    }

    public void methodA() {
        serviceA.methodA();
        serviceB.methodB();
    }

    public void methodB() {
        serviceB.methodB();
        serviceC.methodC();
    }

    public void methodC() {
        serviceC.methodC();
        serviceA.methodA();
    }


}

public interface IServiceA {

    void methodA() ;

}

public interface IServiceB {

    void methodB();

}

public interface IServiceC {

    void methodC();

}

public class ServiceA implements IServiceA {
    @Override
    public void methodA() {
        System.out.println("methodA");
    }
}

public class ServiceB implements IServiceB {
    @Override
    public void methodB() {
        System.out.println("methodB");
    }
}

public class ServiceC implements IServiceC {
    @Override
    public void methodC() {
        System.out.println("methodC");
    }
}

用法:
这个装饰模式所有书上说的都太理论了,学java的肯定都写过SSH这种代码吧,一个service的方法是不是有可能用到了多个dao方法,为什么要这么写呢,组织起来封装一下嘛,这个时候你已经用到了设计模式,只是自己不知道而已,把多个不同的接口功能整合起来变成一个新的接口功能给别人使用,这就是装饰器设计模式的思维了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值