C#

NDDD

ドメイン駆動開発_フォルダー構成編_#43_Repositoryの具象クラス

前回はオブジェクト指向の自動化というお話をしました。データベースの列をValueObjectにして,行をEntityにしましょうというお話でした。Repositoryに関しては,外部接触部分をインタフェース化するという事でしたが,Repos...
NDDD

ドメイン駆動開発_フォルダー構成編_#42_オブジェクト指向の自動化

オブジェクト指向的にプログラミングしましょうといっても,どういう状態がそうなのか難しいし,抽象的すぎます。そこにはある一定のルールや見本が必要です。 そもそもオブジェクト指向という概念が技術者ごとに異なるので,どのような実装がオブジェクト指...
NDDD

ドメイン駆動開発_フォルダー構成編_#41_MeasureValueの作成

前回までで,MeasureDateまでValueObject化したので,今回は,MeasureValueのValueObject化を行います。 MeasureValueクラスの追加 ValueObjectsフォルダーに新しいクラスを作成し,...
NDDD

ドメイン駆動開発_フォルダー構成編_#40_MeasureDateの作成

前回はMeasureEntityのAreaIdをValueObject化するところまでやりました。今回は同じ要領でMeasureDateをValueObject化していきます。 MeasureDateクラスの作成 ValueObjectsフ...
NDDD

ドメイン駆動開発_フォルダー構成編_#39_AreaIdクラスをEntityに乗せる

前回までで,AreaIdクラスを完成させました。今回はそのAreaIdクラスをEntityに乗せます。そうすることで,EntityのプロパティがValueObjectになり,使う側は,すべての処理を選択できるようになります。 Entityの...
NDDD

ドメイン駆動開発_フォルダー構成編_#38_AreaIdにビジネスロジックを入れる

今AreaIdクラスにはコンストラクタとValue,そしてEqualsCoreがありますが,これだけだと,Valueしか表現できていないので,あまり意味のあるValueObjectではありません。ここにビジネスロジックを入れていきましょう。...
NDDD

ドメイン駆動開発_フォルダー構成編_#37_抽象クラスValueObjectを使用してイコールの問題の解消

参照型の為,イコールで比較するとAreaIdの3と他のインスタンスのAreaIdの3は,異なるものと判断されます。 値として扱うなら,同じものと判定したいので,イコールメソッドのオーバーライドをします。これは次のValueObject抽象ク...
NDDD

ドメイン駆動開発_フォルダー構成編_#36_ValueObjectを作成する

それでは実際にValueObjectを作成してみましょう。データベースの列項目はすべてValueObjectになりえます。 ValueObjectsフォルダーの作成 ドメインプロジェクトを右クリックして「追加」「新しいフォルダー」を選択し,...
NDDD

ドメイン駆動開発_フォルダー構成編_#35_ValueObject

ここからはDomain層を詳しく見ていきましょう。現状フォルダーは,EntitiesとRepositoriesがあるだけです。ValueObjectsというものを作っていきましょう。 ValueObjectとは? ValueObjectとは...
NDDD

ドメイン駆動開発_フォルダー構成編_#34_BaseFormでログインユーザーを表示する

前回は,Sharedクラスで,ログインIDを記憶するようにしました。今回は,すべての画面でログインユーザーが表示されるようにしてみましょう。 BaseFormのステータスバーにUserIdLabelを追加する LoginViewのStatu...