目次

概要

(書きかけ)

いわゆる「関数型言語」と呼ばれる類の言語の設計手法、 オブジェクト指向言語でも使えるところは多い(というか、そもそも明確に分ける意味もあまりない)。

関数(function)中心の設計。

メソッドをオブジェクトとして扱う → デリゲート

デリゲートが有用な場面 → イベント駆動、高階関数、非同期処理

純粋な関数(pure function)、フィールド等を参照せず、同じ入力に対して常に同じ出力を返す関数。

などの説明を予定

(予定)
タイトル要検討

OOP で「クラスの付属品」になってたメソッドに再度焦点を

OOP と 関数型の mixed パラダイム

第一級関数
高階関数
ラムダ式

用途:
イベント駆動(コールバック)
処理の差し替え(IoC 制御の逆転)
非同期処理

データ処理、パイプライン化
インターフェイスに実装持ちたい → 実は後置きしたいだけ。静的メソッドを後置きできれば解決 → 拡張メソッド


↓こういう類の説明を入れる
http://csharptan.wordpress.com/2011/12/14/
[インターフェイス: どういうメンバーを持っているかという規約] → [静的メソッド: 規約に対して使えるアルゴリズム]
↓
[実装: 規約を満たす具象クラス]

インターフェイス: ユークリッド整域
アルゴリズム: ユークリッド互除法
実装: 整数、多項式

更新履歴

ブログ