外观(Facade)模式

简介: 1 外观模式:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。   1 public class Class1 { 2 public void method1(){….

1 外观模式:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个高层接口,这个接口使得这子系统更容易使用。

 

 1 public class Class1 {
 2     public void method1(){….}
 3 } 
 4 
 5 public class Class2 {
 6     public void method2(){….}
 7 } 
 8 
 9 public class Class3 {
10     public void method3(){….}
11 } 
12 public class Class4 {
13     public void method4(){….}
14 }  
假如客户程序要使用Class1、Class2、Class3,Class4完成一项业务功能
 1 public class ClientNoFacade {
 2   public void methodA() {//完成第一项业务功能
 3        Class1 c1 = new Class1();
 4        c1.method1();
 5        Class2 c2 = new Class2();
 6        c2.method2();
 7        Class3 c3 = new Class3();
 8        c3.method3();
 9        Class4 c4 = new Class4();
10        c4.method4();
11   }

测试:

1 public class Test {
2 
3     public static void main(String[] args) {
4          ClientNoFacade cnf= new ClientNoFacade();
5          cnf.methodA();
6     }
7 
8 }

这个模式还是很简单的!

他的适用情况呢:

1)为一个复杂子系统提供一个简单接口。

2)提高子系统的独立性。

3)在层次化结构中,可以使用Facade模式定义系统中每一层的入口。

 
 
 

 

相关文章
|
5月前
|
消息中间件 数据可视化 Kafka
docker arm架构部署kafka要点
本内容介绍了基于 Docker 的容器化解决方案,包含以下部分: 1. **Docker 容器管理**:通过 Portainer 可视化管理工具实现对主节点和代理节点的统一管理。 2. **Kafka 可视化工具**:部署 Kafka-UI 以图形化方式监控和管理 Kafka 集群,支持动态配置功能, 3. **Kafka 安装与配置**:基于 Bitnami Kafka 镜像,提供完整的 Kafka 集群配置示例,涵盖 KRaft 模式、性能调优参数及数据持久化设置,适用于高可用生产环境。 以上方案适合 ARM64 架构,为用户提供了一站式的容器化管理和消息队列解决方案。
385 10
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
《基因测序新视界:人工智能的关键赋能》
基因测序是解密生命密码的关键技术,开启了疾病诊断与个性化医疗的新纪元。然而,随着数据量的爆炸式增长,传统分析方法难以应对。人工智能(AI)凭借强大的模式识别和数据处理能力,在基因测序数据分析中崭露头角。AI不仅提高了疾病诊断的准确性和效率,还在药物研发、基因调控网络构建等领域发挥了重要作用。通过AI,研究人员能快速筛选药物靶点、预测药物反应,并揭示基因间的复杂调控机制。此外,AI在群体遗传学和进化生物学中的应用也取得了显著进展。尽管面临数据隐私和模型可解释性等挑战,AI已成为推动基因测序分析发展的关键力量,为人类健康和生命科学带来革命性变化。
321 18
|
12月前
|
存储 安全 Linux
|
12月前
|
安全 应用服务中间件 Shell
网站在后台启用了https协议之后重新登录就不进去后台的解决方法
网站在后台启用了https协议之后重新登录就不进去后台的解决方法
|
传感器 数据中心
|
自然语言处理 文字识别 算法
RexPrompt:探索兼顾低成本、多模态、多语言、多任务的零少样本通用自然语言理解框架
RexPrompt框架的推理速度较SiamesePrompt框架提升了2倍,F1-Score提升了10%!
|
jenkins 持续交付
webhook
Webhook 是一种机制,可用于在两个不同的应用程序之间实现实时通信。它允许应用程序在特定事件发生时相互通信,实现自动化操作。
728 1
|
存储 缓存 运维
Ceph 是什么
Ceph 是什么
378 0
|
自然语言处理 分布式计算 数据可视化
DolphinScheduler
DolphinScheduler是一款开源的分布式任务调度系统,它基于分布式架构设计,支持多租户、多语言、多框架、多数据源等特性。DolphinScheduler提供了可视化的工作流设计器和任务调度管理界面,使得任务的调度和管理更加方便和可靠。
810 0
|
数据采集 机器学习/深度学习 弹性计算
阿里云服务器的十大用途
阿里云服务器的十大用途,使用阿里云服务器可以做什么?阿里云百科分享使用阿里云服务器常用的十大使用场景,说是十大场景实际上用途有很多,阿里云百科分享常见的云服务器使用场景,如本地搭建ChatGPT、个人网站或博客、运维测试、学习Linux、跑Python、小程序服务器等等,云服务器吧分享使用阿里云服务器可以做的几件小事
470 0