今回のエントリは特定の言語に向けて書いているわけではありませんが、関数をサポートしていない言語では必然的にクラスをベースに実装していくことになるのである程度は対象となる言語は絞られます*1。 また特に説明がなければサンプルはTypeScriptで書きます。 さて、あくまで傾向としてではありますが関数を作れる言語の経験が短い人(例えばJavaやRubyですと、関数ではなくクラスに対するメソッドという形で実装することになります)は、単機能の振る舞いを実装するためだけであっても以下のようなコードを実装しがちです class DoSomethinger { constructor(private something: Domething) {} public doSomething() { return dooo(something); // do something } } これは const