5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Processingで流れるようなインターフェースを持つコードを書く

Last updated at Posted at 2015-04-28

概要

流れるようなインターフェースというコードの書き方があります。
下記のようにオブジェクトに対する操作を連ねて書く方法です。

processing
myRect
  .setSize(50,50)  // 大きさを50×50にする
  .setPos(10,20)   // x=10,y=20の座標に配置する
  .display();      // 表示する

Martin Fowlerの命名らしいです1。書籍『リーダブルコード』にも載ってます。
ProcessingのライブラリだとControlP5とかでもこの書き方が使われてます。
jQueryでもよく使われてますが、そちらでは「カスケード」なんて呼ばれ方をしてるみたいです。

利点

オブジェクトに対する操作が1つの流れにまとまってわかりやすく書け、可読性が上がります。

実装方法

クラス内の関数の戻り値を自身(this)にしてやるだけです。

processing
Class MyRect{
  int w,h,x,y;

  MyRect setSize(int _w, int _h){
    this.w = _w;
    this.h = _h;
    return this;
  }

  MyRect setPos(int _x, int _y){
    this.x = _x;
    this.y = _y;
    return this;
  }
}

まとめ

以上、流れるようなインターフェースをProcessingで実装する方法でした。オブジェクトに対する操作がたくさんあるときに使うと可読性が上げられるかと思います。

  1. http://bliki-ja.github.io/FluentInterface/

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?