zoukankan      html  css  js  c++  java
  • 15、Facade 外观模式

    Facade

    facade

    facade facade

    Facade

     

    facade

     public class SystemFacade()
     {
         subSystemImpl1;
         subSystemImpl2;
         subSystemImpl3;
       
        public void runSystem()
        {
            subSystemImpl1.run();
            subSystemImpl2.run();
            subSystemImpl3.run();
        }
     }

    1.SystemFacaderunSystem

    SystemFacade

     public interface SystemFacade extends  SubSystem1,SubSystem2,SubSystem3()
     {
        public void runSystem();
     }
     public class SystemFacadeImpl implements  SystemFacade()
     {
        subSystem1;
        subSystem2;
        subSystem3;
     
        public void runSystem()
        {
            subSystem1.run();
            subSystem2.run();
            subSystem3.run();
        }
     }

    Facade

     public interface ServiceFacade extends MetaDataService, FunctionPrivilegeService, LogService, ApprovalFlowService, ValidateRuleService,...... {
         <T> void registerService(Class<T> var1, T var2);
     
         <T> T getService(Class<T> var1);
        ......
     
         <A, T> T triggerAction(ActionContext var1, A var2);
     }
     @Service("serviceFacade")
     public class ServiceFacadeImpl implements ServiceFacade {
         private static final Logger log = LoggerFactory.getLogger(ServiceFacadeImpl.class);
         private Map<Class<?>, Object> serviceMap = Maps.newHashMap();
         @Autowired
         private MetaDataService metaDataService;
         @Autowired
         private ExportService exportService;
        ......
        }

    使

    1. 使

    2. 访

    公众号发哥讲

    这是一个稍偏基础和偏技术的公众号,甚至其中包括一些可能阅读量很低的包含代码的技术文,不知道你是不是喜欢,期待你的关注。

    img

    如果你觉得文章还不错,就请点击右上角选择发送给朋友或者转发到朋友圈~

    ● 扫码关注我们

    据说看到好文章不推荐的人,服务器容易宕机!

    本文版权归发哥讲博客园共有,原创文章,未经允许不得转载,否则保留追究法律责任的权利。

     

  • 相关阅读:
    Java设计模式之单例模式
    docker常用命令2
    Failed to convert value of type 'java.lang.String' to required type 'java.time.LocalDate';
    Apache RocketMQ在linux上的常用命令
    RocketMQ的broker启动失败解决
    xshell与xftp使用注意
    Springboot项目打包成jar运行2种方式
    docker常用命令记录
    MySql常用语句总结更新
    springboot启动报错start bean 'eurekaAutoServiceRegistration' NullPointerException
  • 原文地址:https://www.cnblogs.com/naimao/p/13446492.html
Copyright © 2011-2022 走看看