应用FluenceInterface设计让使用者更方便


应用FluenceInterface设计让使用者更方便

--《设计模式_基于C#的工程化实现及扩展》

相信有用过jquery的朋友,会清楚Jquery在使用上经常是$().fun1(…).fun2(…)这种样式的。Fluent Interface就是用来实现这种调用方式的。

 

一个简单的FluentInterface类设计

应用FluenceInterface设计让使用者更方便
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace testFluentInterface
{
    class FluentInterfaceClass
    {
        public FluentInterfaceClass SaySome(string sth) {   //应用Fluence Interface设计
            Console.WriteLine(sth);
            return this;            //返回对象本身
        }
        public FluentInterfaceClass SaySome2(string sth)  //普通的设计方式
        {
            Console.WriteLine(sth);
        }
    }
}
应用FluenceInterface设计让使用者更方便

测试类

应用FluenceInterface设计让使用者更方便
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace testFluentInterface
{
    class Program
    {
        static void Main(string[] args)
        {
            FluentInterfaceClass fic = new FluentInterfaceClass();
            fic.SaySome("1").SaySome("2").SaySome("3");//连贯的调用
            Console.WriteLine("===============================================================");
            fic.SaySome2("1");              //调用1次
            fic.SaySome2("2");              //调用2次
            fic.SaySome2("3");              //调用3次
        }
    }
}
应用FluenceInterface设计让使用者更方便

 

从测试类中,我们可以发现FluentInterfaceClass中方法调用方式也非常简单,一直点下去就行。而普通的设计中,我们则需要通过写多次实体来调用实体的方法。

运行结果截图

应用FluenceInterface设计让使用者更方便

实现的原理

      相信大家都看清楚了吧?使用连贯接口(Fluence Interface)的设计其实就是在方法的最后返回类实体本身(this)。


作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2013/04/22/3036604.html

上一篇:(五)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--技术框架3


下一篇:云原生应用万节点分钟级分发协同实践