写点什么

用链式调用的方式来给代码减负

作者:为自己带盐
  • 2021 年 12 月 22 日
  • 本文字数:439 字

    阅读完需:约 1 分钟

链式调用,顾名思义,我理解的意思就是,将一系列的操作,通过直白简练的代码链接在一起,来完成相对复杂的操作。

举个例子

在不使用链式调用的方法前,加入要操作一个对象,对他进行多种操作,伪代码写出来大概是这样

var a = new A();a.Run("tony");a.Eat();
复制代码

对应的具体方法就是这样

public void Run(string name){  Console.WriteLine($"{name} run");  }public void Run(){  Console.WriteLine($"eat");  }
复制代码

而采用链式调用后,代码就变成了这样

var a = new A().Run().Eat();
复制代码


public A Run(string name){  Console.WriteLine($"{name} run");   return this;}public A Run(){  Console.WriteLine($"eat");    return this;}
复制代码

感觉就清爽了很多。

当然也不是所有的方法都适合改造成链式调用形式的,通常的规则是需要函数方法能返回对象本身 this。

比较常见的链式调用应用案例是一些 ORM 框架,比如 EntityFramework(Core),FreeSql 等。

在采用链式调用方式以后,可能对性能的提升并不明显,但却能令代码更符合人类的思维模式,提升可读性。


发布于: 2 小时前阅读数: 4
用户头像

学着码代码,学着码人生。 2019.04.11 加入

狂奔的小码农

评论

发布
暂无评论
用链式调用的方式来给代码减负