C#设计模式——外观(门面)模式
前言
外观模式是一种结构性模式,此模式比较容易理解以及实现。简单的来说就是封装功能。为复杂的子系统调用提供一个统一的入口,降低子系统与客户端的耦合度。
但此模式有个缺点就是不符合开闭原则,那何为开闭原则呢,一句话:开放扩展,关闭修改。
方案思路
举个小例子:在买手机的时候,会有好几种参考供选择,如果不是很熟悉的朋友就不太懂了,这是就需要一个销售人员,就是我们的外观类来封装一下啊,直接调用一个方法就可以把买手机复杂的过程交给销售人员来做啦。
Code
以下代码经过测试,可直接在项目中使用
public class Facade : MonoBehaviour {
void Start () {
FacadePatterns PhoneFacade = new FacadePatterns();
PhoneFacade.BuyHuaWei();
PhoneFacade.BuyApplePhone();
PhoneFacade.BuyAllPhone();
}
}
/// <summary>
/// 外观模式管理器
/// </summary>
public class FacadePatterns
{
private IPhone apple;
private IPhone huaWei;
public FacadePatterns()
{
apple = new Apple();
huaWei = new HuaWei();
}
public void BuyApplePhone()
{
apple.buyPhone();
}
public void BuyHuaWei()
{
huaWei.buyPhone();
}
public void BuyAllPhone()
{
apple.buyPhone();
huaWei.buyPhone();
}
}
public interface IPhone
{
void buyPhone();
}
public class Apple : IPhone
{
public void buyPhone()
{
Debug.Log("购买苹果手机");
}
}
public class HuaWei : IPhone
{
public void buyPhone()
{
Debug.Log("购买华为手机");
}
}
END
感谢阅读
你知道的越多,你不知道的越多
我是EAST
一个靠互联网苟且偷生的程序员
咱们下期见!
扫描二维码关注我吧