Skip to content

kawasima/immutable-datamodel-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

複雑さを分解するためのドメインモデル

WEB±DB PRESS Vol.130 特集1 実践データモデリングのサンプルコードです。

example.complexパッケージのクラスは注文の複数の状態をOrderStatusenumを使って、Orderクラス1つで表現しています。 状態ごとに不変条件や振る舞いが異なる場合、Orderは状態のチェックが増え、ある振る舞いでは参照も更新もしない状態変数を持つことがあります。

これを回避するための設計の1例として、注文の状態ごとにクラスを分けたものをexample.simpleパッケージに置いてあります。 この設計では、1つのクラスには適用可能な振る舞いしか定義していないので、そのメソッドが呼べるかどうかのチェックが不要になります。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages