タグ

2021年3月1日のブックマーク (3件)

  • 役割駆動設計で巨大クラスを爆殺する - Qiita

    大量のメソッドを保有し、数千、数万行単位にぶくぶく膨れ上がった巨大クラス。別名「神クラス」とも「大きな泥団子」とも呼ばれる、長大で複雑で密結合で極めて変更が困難なアイツ。 そんな巨大クラスの退治に有効な、ドメイン駆動設計を基思想とする「役割駆動設計」を紹介致します。 解決したい課題、狙う効果 数千、数万行単位の巨大クラスの登場を抑止する。 小さくシンプルな構造に落とし込み、堅牢で変更容易性の高い設計へ昇華させる。 例1:筆者をモデリング 分かりやすくなるよう、まず私を例にモデリングしてみます。私は以下のような特徴があります。 IT企業の従業員 家族がいる(, 子供) 趣味ゲーム制作している ダメな設計 何も考えずに人クラスとして設計すると、よく以下のような構造になりがちです。 従業員として仕事をする、父親として家族サービスする、趣味としてゲーム制作する、それぞれのメソッドが備わってい

    役割駆動設計で巨大クラスを爆殺する - Qiita
    n314
    n314 2021/03/01
    DCIアーキテクチャと言うらしい
  • ウェブアプリケーションのディレクトリ構造どっちがいい?ドメインの考え方を取り入れた時

    せいた @0to1_consulting 1枚目が良いと思うけど、MVCで階層分ける必要性あるのだろうか。「給与計算業務のコントローラ修正しなきゃ」みたいな探し方することが多いだろうし、業務ディレクトリにまとめておいた方がスッキリすると思う。Angularだとxxx/xxx.component.tsとかxxx/xxx.service.tsとかみたいに分かれてて便利。 twitter.com/dumblepytech1/… 2019-07-10 10:39:26

    ウェブアプリケーションのディレクトリ構造どっちがいい?ドメインの考え方を取り入れた時
    n314
    n314 2021/03/01
    これ記事としてまとまったものないのかな。
  • 私は一ヶ月後、この牛を殺します。〜私がヴィーガンにならないと決めるまで〜 – ロカフレ

    「あなたは動物が好きですか?じゃあ、どうしてその動物を殺してべることができるのですか?」 最初に伝えておこう。 この記事は、とんでもなく長い。 私が書いた作品の中で比較しても、の次に長い。 それはこの問題を取り上げるにあたり、一ヶ月以上にわたる密着取材を行なったのち、当事者と専門家にもインタビューを行い、それらを全て、ひとつの記事につめこんだからである。 (雨の日の取材) 興味のない部分は、飛ばしてもらっても構わない。 だけど私は、人間が多くの命を犠牲にしているとういう事実がある限り、どんなに面倒臭くても知るべきだという思いでこれを取り上げた。 ちょっと時間がかかるかもしれないけれど、もしもあなたが「肉」をべたことがあるのなら、どうか最後まで読んで欲しい。 ーーー まずは問いかけたい。 あなたは動物が、好きですか? この質問を通してみなさんの頭に浮かんでくるのは、きっと一般的に「愛玩

    私は一ヶ月後、この牛を殺します。〜私がヴィーガンにならないと決めるまで〜 – ロカフレ