码迷,mamicode.com
首页 > 其他好文 > 详细

【扩展】链式编程初识

时间:2017-12-23 17:10:21      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:post   gpo   编程   line   strong   div   执行   person   链式   

        /// <summary>  
        /// 链式编程示例2  
        /// </summary>  
        private static  void Example2()  
        {  
            Person person = new Person { Name = "Tom" }  
                .Run()  
                .Sing()  
                .Swim();  
        }  
  
        class Person  
        {  
            public string Name { get; set; }  
  
            public Person Run()  
            {  
                Console.WriteLine("Run");  
                return this;  
            }  
            public Person Swim()  
            {  
                Console.WriteLine("Swim");  
                return this;  
            }  
            public Person Sing()  
            {  
                Console.WriteLine("Sing");  
                return this;  
            }  
        }      

这段代码定义了Peoson类,有三个操作Run、Swim、Sing,操作完成后返回自身this(有返回值是链式编程的关键)。返回自身this好比说执行完操作先别走人,还(可能)有其它操作要去做,如Example2中:先造一个People,先命令ta跑步,跑完先别休息再唱歌,再游泳,游泳完OK了。

链式编程是将多个操作(多行代码)通过点号"."链接在一起成为一句代码。(定义不严密,表达能力好的请给修正一下)
以下为常规代码与链式代码的比较:

        /// <summary>  
        /// 链式编程示例3  对比  
        /// </summary>  
        private void Example3()  
        {  
            //链式代码  
            Person person = new Person { Name = "Tom" }  
                .Run()  
                .Sing()  
                .Swim()  
                .Run()  
                .Sing()  
                .Swim();  
            //常规代码  
            Person person2 = new Person();  
            person2.Run();  
            person2.Sing();  
            person2.Swim();  
            person2.Run();  
            person2.Sing();  
            person2.Swim();  
        }      

为了增强效果,都执行了两轮操作。个人感觉链式代码更加精炼简洁易读。

【扩展】链式编程初识

标签:post   gpo   编程   line   strong   div   执行   person   链式   

原文地址:http://www.cnblogs.com/lolitagis02/p/8093435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!