
075
2
り離すことで、コード間の結合度を下げることができます。基本的に内
部のデータは隠蔽して、必要とされるものだけを振る舞いとして外部に
公開するようにすべきです。
断定的であるとは、必要なデータと振る舞いを一箇所に持っていて、
オブジェクトが他のオブジェクトにむやみに依存することなく責務を果
たせることを指しています。
非冗長とは同じコードがあちこちに重複して存在していないというこ
とです。
これらのコード品質は互いに関連があり、一つの品質を向上させれば
他の品質も自然と向上していくとされています。CLEANという覚えや
すい語呂合わせになっているので、常に念頭に置いて設計を行うとよい
でしょう。
その他のポイント
良い設計を行うために従うべき設計原則や、活用するとよいプラク
ティスについて説明しました。最後に補足として、押さえておくと有効
なポイントを紹介します。
二種類のロジック
ソフトウェアの振る舞いを実現するコードは、中核ロジックと処理フ
ローロジックの二種類に分けることができます。
たとえば、注文を登録するというユースケースにおけるビジネスロ
ジックを考えてみましょう。「値引きや発送料込みの注文金額の計算を
行う」処理は、注文オブジェクトの振る舞いとして実装されるでしょ
う。このように業務の知識やルールを表すものが中核ロジックです。ビ
ジネスロジックの中でもドメインロジックと呼ばれます。
「注文金額を計算し、決済手段の有効性が確認できたら、在庫を引き
当てた後、注文を登録する」という一連の流れは、注文登録サービスの ...