当前位置: 代码迷 >> 综合 >> 流式接口 fluent interface
  详细解决方案

流式接口 fluent interface

热度:22   发布时间:2023-12-19 09:16:02.0

wiki:https://www.wikiwand.com/zh/%E6%B5%81%E5%BC%8F%E6%8E%A5%E5%8F%A3

流式接口(fluent interface)是软件工程中面向对象API的一种实现方式,以提供更为可读的源代码。最早由Eric Evans(英语:Eric Evans (technologist))与Martin Fowler于2005年提出。

通常采取方法瀑布调用(英语:enmethod cascading) (具体说是方法链式调用(英语:method chaining))来转发一系列对象方法调用的上下文 。这个上下文(context)通常是指:

通过被调方法的返回值定义
自引用,新的上下文等于老的上下文。
返回一个空的上下文来终止。
C++的iostream流式调用就是一个典型的例子。Smalltalk在1970年代就实现了方法瀑布调用(英语:enmethod cascading)。

例子

PHP

In PHP, one can return the current object by using the $this special variable which represent the instance. Hence return $this; will make the method return the instance. The example below defines a class Employee and three methods to set its name, surname and salary. Each return the instance of the Employee class allowing to chain methods.

<?php
class Employee {
    public $name;public $surName; public $salary;
  相关解决方案