说说设计模式~门面模式(Facade)

时间:2023-03-08 20:28:12
说说设计模式~门面模式(Facade)

返回目录

门面模式(Facade)属于结构型模式的一种,它符合面向对象的封装原则,但又不符合开闭原则,呵呵,今天我们主要说它的优点,不谈缺点.

定义

门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。

技巧

我们在设计子类时,由于外部通过门面去访问它的功能,所以一般子类都会被声明为internal.

何时能用到它?

1、客户只需要使用某个复杂系统的子集,或者需要以一种特殊的方式与系统交互时,使用门面模式。
2、当需要跟踪原系统的使用情况时 ,使用门面模面模式。因为所有对系统的访问都经过FACADE,所以可以很容易地监视系统的使用 。
3、希望封装和隐藏原系统时。
4、编写新类的成本小于所有人使用和维护原系统使用所需的成本时

观察者模式的结构图

aaarticlea/png;base64,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" alt="" />

观察者模式实现说明

FacadeFactory:门面对象,对外公开,将子系统进行组合,或者将子系统进行条件的筛选等等

Sub1:子系统1,它实现了IFacade接口

Sub2:子类型2,它实现了IFacade接口

IFacade:统一接口,可有可无,子类型去实现它,有时在门面类里需要通过接口来访问子系统时,需要这个接口

观察者模式的C#实现

#region 门面
public interface IFacade
{
void Implement();
}
public class FacadeFactory
{
int _subtype;
public FacadeFactory()
            : this(1)
        {         }
public FacadeFactory(int subType)
{
_subtype = subType;
}
public void Action()
{
//情况1,子类型的组合
new Sub1().Implement();
new Sub2().Implement(); //情况2,子类型的选择
switch (_subtype)
{
case :
new Sub1().Implement();
break;
case :
new Sub2().Implement();
break;
default:
throw new ArgumentException("子系统参数有误");
}
}
}
internal class Sub1 : IFacade
{ public void Implement()
{
Console.WriteLine("这是子系统1");
}
}
internal class Sub2 : IFacade
{ public void Implement()
{
Console.WriteLine("这是子系统2");
}
}
#endregion

调用代码

  new FacadeFactory().Action();

结果截图

aaarticlea/png;base64,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" alt="" />

返回目录