设计模式之十一------Facade(外观)

本文介绍了在实际应用中如何通过Facade模式简化客户端调用多个类接口的繁琐过程,通过设计一个组合所有必要类的外观类,使得客户端只需调用一个方法即可完成所有操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

问题:

在实际应用中,我们可能封装了很多类,但是这些类只是一个业务的各个步骤,如果让客户端一个一个去调用这些接口,是非常繁琐的一件事。我们应该简化客户端的操作。

解决方案:

我们可以设计一个类:这个类组合了所有的必须的类,然后在一个方法中调用所有的实现,并把这个类提供给客户端,这就是Facade模式(外观)

源代码:

//This a programme about facade

#include <IOSTREAM>

using namespace std;

class SubSystem1{

public:

SubSystem1(){}

~SubSystem1(){}

void Operator(){

cout<<"SubSystem1...."<<endl;

}

};

class SubSystem2{

public:

SubSystem2(){}

~SubSystem2(){}

void Operator(){

cout<<"SubSystem2...."<<endl;

}

};

class Facade{

public:

Facade(){}

~Facade(){}

void OperateWrapper(){

sub1->Operator();

sub2->Operator();

}

private:

SubSystem1 *sub1;

SubSystem2 *sub2;

};

void main()

{

Facade *facade=new Facade;

facade->OperateWrapper();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值