189 8069 5689

设计模式-外观模式

public interface IYunSuan
    {
        double getResult(int num1, int num2);
    }
    public class jia : IYunSuan
    {
        public double getResult(int num1, int num2)
        {
            return num1 + num2;
        }
    }
    public class jian : IYunSuan
    {
        public double getResult(int num1, int num2)
        {
            return num1 - num2;
        }
    }
    public class cheng : IYunSuan
    {
        public double getResult(int num1, int num2)
        {
            return num1 * num2;
        }
    }
    public class chu : IYunSuan
    {
        public double getResult(int num1, int num2)
        {
            if (num2 == 0) return 0;
            return num1 / num2;
        }
    }
        //门脸类(中间层)
    public class Facade
    {
        IYunSuan jia1;
        IYunSuan jian1;
        IYunSuan cheng1;
        IYunSuan chu1;
        public Facade()
        {
            jia1 = new jia();
            jian1 = new jian();
            cheng1 = new cheng();
            chu1 = new chu();
        }
        //排列内部对象的方法展示顺序
        public void display1(int num1,int num2)
        {
            var jiaresult = jia1.getResult(num1,num2);
            var jianresult = jian1.getResult(num1, num2);
            var chengresult = cheng1.getResult(num1, num2);
            Console.WriteLine(jiaresult);
            Console.WriteLine(jianresult);
            Console.WriteLine(chengresult);
            Console.ReadLine();
        }
        public void display2(int num1, int num2)
        {            
            var jianresult = jian1.getResult(num1, num2);
            var churesult = chu1.getResult(num1, num2);            
            Console.WriteLine(jianresult);
            Console.WriteLine(churesult);
            Console.ReadLine();
        }
    }
        //前端
        static void Main(string[] args)
        {
            //前端类不需要直接和运算类打交道,符合迪米特法则(最少知识原则)、依赖倒转原则(高层不依赖低层)            
            Facade f = new Facade();
            f.display1(100,20);
            f.display2(30,10);
        }

总结:外观模式应该是我们最常用的模式之一,经典的3层架构就符合这个原则,UI层和数据层没有直接通信,而是通过业务逻辑层。UI和业务逻辑、业务逻辑和数据层 之间都在加上一个接口层(门脸接口)的话扩展性和维护性会好很多。
在老系统上面加功能,最好不要轻易修改老系统代码,加个门脸接口层就好,前端和门脸接口层打交道,门脸层和老系统打交道。这样结构清晰,方便维护,也不会影响老系统。
设计模式-外观模式

公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出江北免费做网站回馈大家。


分享标题:设计模式-外观模式
文章链接:http://cdxtjz.com/article/pesjoj.html

其他资讯