NDDD ドメイン駆動開発_フォルダー構成編_#43_Repositoryの具象クラス 前回はオブジェクト指向の自動化というお話をしました。データベースの列をValueObjectにして,行をEntityにしましょうというお話でした。Repositoryに関しては,外部接触部分をインタフェース化するという事でしたが,Repos... 2020.03.28 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#42_オブジェクト指向の自動化 オブジェクト指向的にプログラミングしましょうといっても,どういう状態がそうなのか難しいし,抽象的すぎます。そこにはある一定のルールや見本が必要です。 そもそもオブジェクト指向という概念が技術者ごとに異なるので,どのような実装がオブジェクト指... 2020.03.23 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#41_MeasureValueの作成 前回までで,MeasureDateまでValueObject化したので,今回は,MeasureValueのValueObject化を行います。 MeasureValueクラスの追加 ValueObjectsフォルダーに新しいクラスを作成し,... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#40_MeasureDateの作成 前回はMeasureEntityのAreaIdをValueObject化するところまでやりました。今回は同じ要領でMeasureDateをValueObject化していきます。 MeasureDateクラスの作成 ValueObjectsフ... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#39_AreaIdクラスをEntityに乗せる 前回までで,AreaIdクラスを完成させました。今回はそのAreaIdクラスをEntityに乗せます。そうすることで,EntityのプロパティがValueObjectになり,使う側は,すべての処理を選択できるようになります。 Entityの... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#38_AreaIdにビジネスロジックを入れる 今AreaIdクラスにはコンストラクタとValue,そしてEqualsCoreがありますが,これだけだと,Valueしか表現できていないので,あまり意味のあるValueObjectではありません。ここにビジネスロジックを入れていきましょう。... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#37_抽象クラスValueObjectを使用してイコールの問題の解消 参照型の為,イコールで比較するとAreaIdの3と他のインスタンスのAreaIdの3は,異なるものと判断されます。 値として扱うなら,同じものと判定したいので,イコールメソッドのオーバーライドをします。これは次のValueObject抽象ク... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#36_ValueObjectを作成する それでは実際にValueObjectを作成してみましょう。データベースの列項目はすべてValueObjectになりえます。 ValueObjectsフォルダーの作成 ドメインプロジェクトを右クリックして「追加」「新しいフォルダー」を選択し,... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#35_ValueObject ここからはDomain層を詳しく見ていきましょう。現状フォルダーは,EntitiesとRepositoriesがあるだけです。ValueObjectsというものを作っていきましょう。 ValueObjectとは? ValueObjectとは... 2020.03.22 NDDD
NDDD ドメイン駆動開発_フォルダー構成編_#34_BaseFormでログインユーザーを表示する 前回は,Sharedクラスで,ログインIDを記憶するようにしました。今回は,すべての画面でログインユーザーが表示されるようにしてみましょう。 BaseFormのステータスバーにUserIdLabelを追加する LoginViewのStatu... 2020.03.22 NDDD