zoukankan      html  css  js  c++  java
  • Facade

    1、外观模式对外屏蔽了子系统的细节,因此外观模式降低了客户端对子系统使用的复杂性。

    2、外观模式对客户端与子系统的耦合关系,让子系统内部的模块更容易维护和拓展。

    3、通过合理的使用外观模式,可以帮我们更好的划分访问的层次。

    4、当系统需要进行分层设计时,可以考虑使用Facade模式。

    5、在维护一个遗留的大型系统时,可能这个系统已经变得非常难以维护和拓展了,此时可以考虑新系统开发一个Facade类,来提供遗留系统的比较清晰简单的接口,让新系统与Facade类交互,提高复用性。

    6、不能过多的或者不合理的使用外观模式,使用外观模式好,还是直接调用模块好,要以让系统有层次,利于维护为目的。

        interface Shape
        {
            void Draw();
        }
        public class Rectangle : Shape
        {
            public void Draw()
            {
                Console.WriteLine("矩形");
            }
        }
        public class Circle : Shape
        {
            public void Draw()
            {
                Console.WriteLine("圆形");
            }
        }
    
        /// <summary>
        /// 外观类,它需要了解所有的子系统的方法和属性,进行组合,以备外界调用
        /// </summary>
        public class ShapeMaker {
            private Circle circle;
            private Rectangle rectangle;
            public ShapeMaker()
            {
                circle = new Circle();
                rectangle = new Rectangle();
            }
            public void DrawCircle()
            {
                circle.Draw();
            }
            public void DrawRectangle()
            {
                rectangle.Draw();
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                ShapeMaker shapeMaker = new ShapeMaker();
    
                shapeMaker.DrawCircle();
                shapeMaker.DrawRectangle();
            }
        }
  • 相关阅读:
    与eolinker api集成
    为什么要用eolinker帮助API开发
    什么是Eolinekr
    使用Eolinker加快您的API开发
    java反射
    mybatis-查询过程
    mybatis初始化过程
    mybatis的插件分析
    web.xml中的ContextLoaderListener和DispatcherServlet区别
    css+js杂记
  • 原文地址:https://www.cnblogs.com/vichin/p/11626846.html
Copyright © 2011-2022 走看看