首页 > 其他分享 >11) Facade Pattern

11) Facade Pattern

时间:2023-06-09 13:44:10浏览次数:41  
标签:11 Pattern void System class println Facade public out

类别:

 Structural Pattern

问题/动机:

系统非常复杂

隐藏复杂细节,提供简单界面

方案:

 

 

示例:

 

/* Complex parts */

public class FacadePatternDemo {
    public static void main(String[] args) {
        CarFacade facade = new CarFacade();
        facade.CreateCompleteCar();

    }
}

// The 'Subsystem ClassA' class
class CarModel {
    public void SetModel() {
        System.out.println(" CarModel - SetModel");
    }
}

/// <summary>
/// The 'Subsystem ClassB' class
/// </summary>
class CarEngine {
    public void SetEngine() {
        System.out.println(" CarEngine - SetEngine");
    }
}

// The 'Subsystem ClassC' class
class CarBody {
    public void SetBody() {
        System.out.println(" CarBody - SetBody");
    }
}

// The 'Subsystem ClassD' class
class CarAccessories {
    public void SetAccessories() {
        System.out.println(" CarAccessories - SetAccessories");
    }
}

// The 'Facade' class
class CarFacade {
    private CarAccessories accessories;
    private CarBody body;
    private CarEngine engine;
    private CarModel model;

    public CarFacade() {
        accessories = new CarAccessories();
        body = new CarBody();
        engine = new CarEngine();
        model = new CarModel();
    }

    public void CreateCompleteCar() {
        System.out.println("******** Creating a Car **********");
        model.SetModel();
        engine.SetEngine();
        body.SetBody();
        accessories.SetAccessories();

        System.out.println("******** Car creation is completed. **********");
    }
}

 

******** Creating a Car **********
 CarModel - SetModel
 CarEngine - SetEngine
 CarBody - SetBody
 CarAccessories - SetAccessories
******** Car creation is completed. **********

 

应用:

 

不足:(

 

优化:)

 

标签:11,Pattern,void,System,class,println,Facade,public,out
From: https://www.cnblogs.com/zno2/p/6694838.html

相关文章

  • STM32cubemx配置驱动DHT11模块
    (文章目录)前言本篇文章将带大家学习使用DHT11湿温度模块,使用这个模块可以获取当前的温度和湿度数据。DHT11可以用于智能家居,蔬菜大棚等项目当中适用范围广。一、DHT11模块介绍DHT11是一种数字式温湿度传感器,由杜邦公司推出。它可以测量环境中的温度和湿度,并将测量结果以数字......
  • 0011.有监督学习之Apriori算法
    一、关联分析概述1.关联分析2.频繁项集的评估标准2.1支持度2.2置信度2.3提升度3.关联规则发现二、Apriori算法原理三、使用Apriori算法来发现频繁项集1.生成候选项集2.项集迭代函数四、Apriori关联规则挖掘1.挖掘关联规则的流程2.关联规则的python实现五......
  • 11.软件项目合同计划
    1、某项目采用成本加激励费用的成本补偿类合同,当预计成本为20万元,利润4万元,且奖励分配为80/20时,如果实际成本降至16万,则项目总价为多少?你的答案A24万元B23.2万元C20.8万元正确D20万元正确答案C解析16+4+4*0.2=20.8 2、对于乙方来说,成本补偿类合同的风险大于固定价格......
  • 【HMS Core】华为帐号服务,获取Access Token报错{sub_error:20152,error_description:inv
    ​ 【问题描述】华为账号服务,接口获取AccessToken报错:{sub_error:20152,error_description:invalidcode,error:1101} 【问题分析】根据官网提示,是code格式不正确造成的,需要检查参数配置​ 【解决方案】1、此问题解决方案,可以参考这篇帖子https://developer.huawei.com/......
  • 【HMS Core】华为帐号服务,获取Access Token报错{sub_error:20152,error_description:inv
     【问题描述】华为账号服务,接口获取AccessToken报错:{sub_error:20152,error_description:invalidcode,error:1101}【问题分析】根据官网提示,是code格式不正确造成的,需要检查参数配置【解决方案】1、此问题解决方案,可以参考这篇帖子https://developer.huawei.com/consumer/cn/forum/......
  • 自定义系统级无窗口全局快捷键热键-Delphi7_Lite_Full_Edition_Setup_7.3.4.3_Build_2
      自定义系统级无窗口全局快捷键热键-Delphi7_Lite_Full_Edition_Setup_7.3.4.3_Build_20110801-2023年6月9日 programProject1_SetHotkeyBaiduSyncDisk;usesForms,Unit1_SetHotkeyBaiduSyncDiskin'Unit1_SetHotkeyBaiduSyncDisk.pas'{Form1};{$R*.res}b......
  • 侯捷C++(C++标准11-14)
    第一讲语言 C++2.0新的标准库#include<iostream>usingnamespacestd;intmain(){cout<<__cplusplus<<endl;return0;}ViewCode确认支持C++11第二讲标准库......
  • P1121 环状最大两段子段和
    P1121环状最大两段子段和非环状最大两子段和\[fr[i]表示第1\toi个元素的最大子段和ba[i]表示第n\toi个元素的最大子段和所以最大两子段和就是max(fr[i]+ba[i+1]),i\in[1,n)\]intSolve(){ intans=-0x3f3f3f3f; for(inti=1;i<=n;i++)fr[i]=max(fr[i-1],0ll)+a[i]......
  • ABAP-ALV1111
    *&---------------------------------------------------------------------**&ReportZALV1*&*&---------------------------------------------------------------------**&*&*&-----------------------------------------------------......
  • LeetCode 2116. 判断一个括号字符串是否有效
    importjava.util.ArrayDeque;importjava.util.Deque;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Map;importjava.util.Set;/***一个括号字符串是只由'('和')'组成的非空字符串。如果一个字符串满足下面任意一个条件,那么它就是有......