C#设计模式——外观(门面)模式
Posted 庚子年冲冲冲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
一个靠互联网苟且偷生的程序员
咱们下期见!
扫描二维码关注我吧
以上是关于C#设计模式——外观(门面)模式的主要内容,如果未能解决你的问题,请参考以下文章