当前位置:编程学习 > C#/ASP.NET >>

Design patterns V : Facade Pattern

/*
Author: Jiangong SUN
*/
 
Facade Pattern (外观模式) provides a unique inte易做图ce to a set of methods of different subsystems in an application. It's widely used in application development.
It's a structural pattern.
 
Now let's see the implementation in CSharp.
Firstly, create subsystems and their methods.
        class SubSytemOne
        {
            public void MethodOne()
            {
                Console.WriteLine("SubSystemOne Method");
            }
        }
        class SubSytemTwo
        {
            public void MethodTwo()
            {
                Console.WriteLine("SubSystemTwo Method");
            }
        }
        class SubSytemThree
        {
            public void MethodThree()
            {
                Console.WriteLine("SubSystemThree Method");
            }
        }
        class SubSytemFour
        {
            public void MethodFour()
            {
                Console.WriteLine("SubSystemThree Method");
            }
        }
 
Create Facade class and its methods as an inte易做图ce to subsystems' methods' aggregation.
        class Facade
        {
            private readonly SubSytemOne _one;
            private readonly SubSytemTwo _two;
            private readonly SubSytemThree _three;
            private readonly SubSytemFour _four;
            public Facade()
            {
                _one = new SubSytemOne();
                _two = new SubSytemTwo();
                _three = new SubSytemThree();
                _four = new SubSytemFour();
            }
            public void MethodA()
            {
                Console.WriteLine("MethodA():");
                _one.MethodOne();
                _three.MethodThree();
            }
            public void MethodB()
            {
                Console.WriteLine("MethodB():");
                _two.MethodTwo();
                _four.MethodFour();
            }
            public void MethodC()
            {
                Console.WriteLine("MethodC():");
                _one.MethodOne();
                _two.MethodTwo();
                _four.MethodFour();
            }
        }
 
The clients can call facade's methods to satisfy its requirements.
                var facade = new Facade();
                facade.MethodA();
                facade.MethodB();
                facade.MethodC();
 
So this is the implementation of facade pattern. I hope you enjoy this article. Enjoy coding!
 
补充:软件开发 , C# ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,