Subscribed unsubscribe Subscribe Subscribe

石橋秀仁(zerobase)書き散らす

まじめなブログは別にあります→ja.ishibashihideto.net

プリミティブ型を使わないで独自の値型を宣言する

プログラムに証明が付く日 | RANDMAX

「例えば、『10より小さい整数』というような型が定義できるんですよ。」

ドメイン駆動設計で「プリミティブ型をそのまま使うな」って話に通じる。

例えば「ふりがな」っていうデータはString型でいいんですかと。「ひらがなと空白」だけが妥当(valid)な値なのだとしたら、そういう「型」(type)をつくったらどうですかと。そのうえで、コンストラクタで検証(validation)して例外(exception)投げさせたりすればいいわけですね。

ウェブ・アプリケーションの「MVCアーキテクチャではユーザー入力値の検証(validation)をコントローラーやビューでやったりするけど、基本はモデルだと思うんですね。だってそれはドメインの知識だから。Ajax validationなどのために補助的にビューで検証することはあってもいいかもしれないけど。

あと、データモデルをRDB/SQLありきで考えるのもよくないと思うんですよね。それはまた別の機会に。