業務の関心事は一つのオブジェクトに独立させる
気づき
サーバーサイドの考え方としてタイトルのようなことをよく言われる。DDDとかクリーンアーキとか特にね。
この意味が正直あまり最近まで理解できなかったが、システム設計の原則の本を読んでやっとわかった。
まじで読書っていいな。視野と知識の解像度がまるで違う。ほんとに読書が好きになった。新入社員自己紹介ページで趣味を「サウナ・読書」って無意識に書いてた自分にびっくりしている。大学3年生まで大嫌いだったのに。
おすすめの本を最近いろんんんんな方向から聞かれた時も秒で思いついて秒でAmazonのリンクを送っている。読書タイムは継続的に設けよう。
で。「業務の関心事は一つのオブジェクトに独立させる」は、簡単に言うと、
あるクラスにおいて配列やコレクション系をいじる場合は大抵重要な業務ロジックなので、直接クラス内でいじるわけではなく、操作する専用クラスを別で作成する
ということ。コレクションオブジェクトを安定させるとかも言う。これもまあ理解はしていたんだが、深く考えないとそんな簡単に本質を掴めなかった。
テストしやすいし意図しない操作防げるし仕様の変更に強いし。そりゃそうよね。早く実践したい。最近サーバーサイドが好きになった。ありがとうkotlin。
実務ですごい感じたのは、「仕様変更が入った時、設計がしっかりされているかどうかでコードの書きやすさ読みやすさが天と地レベルで違う」
ということ。DDDの良いところは設計さえしっかりすればkotlin知らなくてもめちゃくちゃ読みやすいこと。設計がしっかりされていなさそうな場所に修正を加えた時に、めちゃくちゃリーディングとコーディングに苦労したからこそ感じる。内定者バイトしててよかっったああああああ
サーバーサイドもつよつよになるぞおおお