【发布时间】:2017-03-30 06:33:22
【问题描述】:
在学习Facade设计模式的时候,到处都能找到这样的例子:
public class SystemA
{
public void CreateCreditCard(){//implementation}
//other methods here
}
public class SystemB
{
public void CheckCreditCard(){//implementation}
//other methods here
}
public class Facade
{
SystemA subsystemA = new SystemA();
SystemB subsystemB = new SystemB();
public void CreateAccount()
{
subsystemA.CreateCreditCard();
subsystemB.CheckCreditCard();
}
}
我不知道我是否错了,但它不会在 Facade 类和系统(SystemA 和 SystemB)之间创建紧密耦合,即使 SystemA 和 SystemB 是从某个抽象类或接口继承的。
【问题讨论】:
-
如果你想抽象出系统——你可以这样做。它只是与外观模式的作用无关,因此没有理由通过添加额外的接口来使示例复杂化。
标签: c# design-patterns