[C#][デザインパターン] Facadeパターン

スポンサーリンク

今回はFacadeパターンについて見ていきます。

クラスA、クラスB、クラスCという3つのクラスがあり、ある機能を実現するためにはすべてのクラスを利用する必要があるとします。

3つのクラスを利用するのは面倒なので、3つのクラスを利用するクラスDを作成します。

クラスDのように複数のクラスをひとまとめにしたものを「Facadeクラス」と呼び、Facadeクラスを使ったプログラムをFacadeパターンと呼びます。

以下にFacadeパターンのコード例を示します。

最初にクラスA,クラスB,クラスCを定義します。

C#の例

namespace Facade
{
    public class ClassA
    {
        public void MethodA()
        {
            Console.WriteLine("メソッドAの実行");
        }
    }
}
namespace Facade
{
    public class ClassB
    {
        public void MethodB()
        {
            Console.WriteLine("メソッドBの実行");
        }
    }
}
namespace Facade
{
    public class ClassC
    {
        public void MethodC()
        {
            Console.WriteLine("メソッドCの実行");
        }
    }
}

次に上記3つのクラスをひとまとめにして操作するFacadeクラスを作成します。

namespace Facade
{
    public class Facade
    {
        public void FacadeMethod()
        {
            (new ClassA()).MethodA();
            (new ClassB()).MethodB();
            (new ClassC()).MethodC();
        }
    }
}

最後にFacadeクラスの呼び出し例を以下に示します。

class Program
{
    static void Main(string[] args)
    {
        Facade facade = new Facade();

        facade.FacadeMethod();

        Console.Read();
    }
}

コメント

タイトルとURLをコピーしました