設(shè)計模式---外觀模式(門面模式)(DesignPattern_Facade)

示例:FACADE—我有一個專業(yè)的Nikon相機(jī),我就喜歡自己手動調(diào)光圈、快門,這樣照出來的照片才專業(yè),但MM可不懂這些,教了半天也不會。幸好相機(jī)有Facade設(shè)計模式,把相機(jī)調(diào)整到自動檔,只要對準(zhǔn)目標(biāo)按快門就行了,一切由相機(jī)自動調(diào)整,這樣MM也可以用這個相機(jī)給我拍張照片了。

門面模式:外部與一個子系統(tǒng)的通信必須通過一個統(tǒng)一的門面對象進(jìn)行。門面模式提供一個高層次的接口,使得子系統(tǒng)更易于使用。每一個子系統(tǒng)只有一個門面類,而且此門面類只有一個實例,也就是說它是一個單例模式。但整個系統(tǒng)可以有多個門面類。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraFunctionA
{
    public void Flashlight()
    {
        Debug.Log("閃光燈功能");
    }
}

public class CameraFunctionB
{
    public void Focus()
    {
        Debug.Log("對焦功能");
    }
}

public class CameraFunctionC
{
    public void Shutter()
    {
        Debug.Log("快門功能");
    }
}

public class CameraFunctionD
{
    public void Aperture()
    {
        Debug.Log("光圈功能");
    }
}


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FacadeTest : MonoBehaviour
{

    CameraFunctionA m_CameraFunctionA;
    CameraFunctionB m_CameraFunctionB;
    CameraFunctionC m_CameraFunctionC;
    CameraFunctionD m_CameraFunctionD;
    void Start()
    {
        m_CameraFunctionA = new CameraFunctionA();
        m_CameraFunctionB = new CameraFunctionB();
        m_CameraFunctionC = new CameraFunctionC();
        m_CameraFunctionD = new CameraFunctionD();
    }

    /// <summary>
    /// 自動擋拍照   【攝像我也不懂,瞎寫的,明白意思就好】
    /// </summary>
    public void AutoShoot()
    {
        m_CameraFunctionA.Flashlight();//閃光燈功能
        m_CameraFunctionD.Aperture();//光圈功能
        m_CameraFunctionB.Focus();//對焦功能
        m_CameraFunctionC.Shutter();//快門功能
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 好的軟件設(shè)計是多用代碼復(fù)用,但實際設(shè)計中卻要遇到許多變化,而變化是復(fù)用的天敵。為了能夠盡量減少變化所帶來的設(shè)計復(fù)雜...
    CharlesW閱讀 631評論 0 0
  • 用追MM來解釋23種設(shè)計模式 創(chuàng)建型模式1、FACTORY—追MM少不了請吃飯了,麥當(dāng)勞的雞翅和肯德基的雞翅都是M...
    翻這個墻閱讀 394評論 0 0
  • 創(chuàng)建型模式 1、FACTORY—追MM少不了請吃飯了,麥當(dāng)勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不...
    珈誼閱讀 377評論 0 0
  • 創(chuàng)建型模式 1、FACTORY—追MM少不了請吃飯了,麥當(dāng)勞的雞翅和肯德基的雞翅都是MM愛吃的東西,雖然口味有所不...
    非典型程序員00閱讀 4,555評論 2 35
  • 愛像山間的清風(fēng) 美好的愛情,如同山間的清風(fēng),醉人的美酒,讓人心曠神怡,陶醉不已。然而,當(dāng)一個女人,將愛情活成了生活...
    芊素錦閱讀 600評論 0 6

友情鏈接更多精彩內(nèi)容