関数型言語は何故普及しないのかを考える
■ このスレッドは過去ログ倉庫に格納されています
0491475
2010/09/28(火) 00:20:22>しかし型推論機能はどこで必要になる?
>これが必要になるシーンがいまひとつ思い浮かばない。
>なので、なぜ関数型言語が有利なのかがまだわからない。
その部分については、まだ説明していませんでしたからね。
以下で、関数指向設計技法の第二歩(>>475の続き)を解説します。
>>475では、入力画面や出力帳票といったMVCアーキテクチャのViewの論理的な構造を
代数的データ型で記述しました。次に、この論理構造を元にしてModelを定義します。
この部分は、既存の設計技法を流用しましょう。たとえばModelがEntity-Relationshipを
ベースとしているなら、リレーショナル論理/代数の正規化技法(第n正規化)、あるいは
T字型E-R設計技法が、Object-RelationshipをベースとしているならOO設計技法です。
ポイントは、最終的なModelが提供するサービス仕様である
・Create - 生成(INSERT), Read - 読み出し(SELECT), Update - 更新(UPDATE), Delete - 削除(DELETE)、
という、いわゆる
・CRUD操作の論理的な構造について、代数的データ型を入出力とする関数で定義する
事です。たとえば、以下は「当月の全店における受注レコードの検索処理」というRead系関数の
データ型である<全店受注レコード一覧>定義の一例です。
set_of <全店受注レコード>:<全店受注レコード一覧>;;
<支店区分> * <受注日> * <受注金額>:<全店受注レコード>;;
"札幌支店" | "東京本社" | "名古屋支社" | "関西支社" | "広島支店" | "福岡支店":<支店区分>;;
Date:<受注日>;;
Integer:<受注金額>;;
(長いので以下へ続く)
■ このスレッドは過去ログ倉庫に格納されています