# ミノ駆動本_読書py[11] みんなのメモ ###### tags: `ミノ駆動本` - このメモはWebに公開されています(HackMDチーム) - リンクを知っている人は見られます - HackMDにログインして編集できます ## お願い事項 https://twitter.com/MinoDriven/status/1541334416622256130 > 【お願い】 拙著『良いコード/悪いコードで学ぶ設計入門』に関する情報発信について。 ブログ等で発信の際は、引用の範囲を超え、著作権侵害となる場合は勿論のこと、拙著の詳細内容が分かるような表現での公開はお控え頂けると助かります。 ご感想や拙著に基づく試行錯誤は歓迎です。 #ミノ駆動本 > 拙著引用の際は、Qiitaさんの『著作物を引用する際の注意点』が参考になります。適切な引用のもと、情報発信していただけると嬉しいです。https://help.qiita.com/ja/articles/about-copylight #ミノ駆動本 とのことなので勉強会そのもので詳細内容がわかるような記述はしないように気をつけていきましょう。 ## このメモについて このメモは ミノ駆動本_読書py[11] のメモです https://connpass.com/event/268706/ 読む範囲:13章 モデリング ミノ駆動本のサポートページより、Javaのサンプルコードが見られます。 https://gihyo.jp/book/2022/978-4-297-12783-1/support ## 読書会の流れ * 20:00〜20:30 **自由参加**のもくもく会(個人作業) - 事前に読む時間がとれなかった方はここで読んじゃいましょう(ざっとで大丈夫です) - 合わせて、この**HackMD**に話したいことを各自書いてください - ログインすれば書ける設定にしています - ここがわからん、ここはわかった お気軽に書き込んでみてください - HackMDの書き込みに投票し、みんなが気になるところをわいわい読み解いていきます * 20:30〜22:00 読書会本編(みんなでわいわい) * Discordでスライド共有して別途案内します * 20時開始の本編では、「わたしこれ気になる!」という話題に `:+1:` と書いて投票します。 * :+1: する上限はありません。気になる話題に全部 :+1: しちゃいましょう。ただし1つの話題には1個だけ:+1:でお願いします * 票数が多い話題から話していきます。 ## 以下、もくもく会ワークゾーン ### 感想、気付き - - - 以下は各節で「これってどういうことなんだろう」「ここからこういう気付きがあった」などを書き出すゾーンです。 ### 13 モデリング ―クラス設計の土台― #### 13.1 邪悪な構造に陥りがちなUserクラス - いわゆる神クラスになりがち、ってことだと理解しました - 見ていて、RDBのテーブル設計を思い出しました。何か共通する/参考にできる部分があるだろうか? - RDBのテーブル設計は、モデルの概念に近しいものとして分かりやすいのですが、「近しい(≒)」であって「等しい(=)」ではないのですよね :+1: :+1: :+1: - テーブルは「データの保存性」、モデルは「データの意味性」で区分けされる - #### 13.2 モデリングの考え方とあるべき構造 - 設計の話が出てきた感じがありますね・・・! - 最近ER図だとかテーブル設計を学んでおり、似てそうだなって思いました(13.1の感想でも同じような印象を持った方がいらっしゃってますね) - システム開発とは「人々の営みをコンピューターの中に再現するものである」とhiro(@hirodragon112)さんの言葉(意訳有):+1::+1::+1: - #### 13.3 良くないモデルの問題点と解決方法 - 会話しやすくするために引用します - >モデルは「特定の目的達成のために最低限考慮が必要な要素を備えたもの」です。 - 良いコード/悪いコードで学ぶ設計入門ー保守しやすい 成長し続けるコードの書き方 P275 初版第1刷 仙塲 大也 著 より - 最低限、なのか。:+1: :+1: - 他の章でも出てきますが、「目的」がキーワードですね。 :+1::+1: - 例えば「表示テーマ色」は「モデルとしては分けたい」となる代表でしょう - 現実世界のものをどう表現するか、というSimpleでもなくEasyでもない大変なことをしているんだなぁって思います - DBからデータを取得するAPIだからといって、テーブルのフィールドそのままのモデルにする必要はないわけで…… - むしろ、使い方に合わせて整えるから「モデル」なのではないか? - モデルに「一貫性がない」(13.3.3) - 一貫性という言葉のルーツはどこだろう? - エヴァンス本っぽい…?:+1: - >用語の意味が常に同じであることであり、矛盾したルールが含まれていないことでもある (『エリック・エヴァンスのドメイン駆動設計』(p.340). Kindle 版.) - 実装からモデルにフィードバックする(13.3.7)ということはモデルはどこかでバージョン管理している? - ツールとかあるのかな? #### Column クソコード動画「Userクラス」 動画はこちら https://twitter.com/minodriven/status/1380773721032433674 - みなさんみる時間がなかったら本編の時にちょっと非同期でみるのが良いかなと思っています(私は見れていない) :+1: :+1: - Userクラスの両側にたくさんのクラス、こちら「お一枚岩モデル」おクソ動画でも見ましたわ〜!! :+1::+1: - こちらですわ〜 https://twitter.com/MinoDriven/status/1590181987910029314 - ミノ駆動本お嬢様がいる・・・? - #### 13.4 機能性を左右するモデリング - 実現しないといけないこと(大雑把な言葉で言ってしまうと、非機能要件として定義されていないようなもの)をちゃんと調べて実現させるのって大事だなーと最初を見て思いました - ここでドメイン駆動設計に繋がるのか・・・ :+1::+1: - 設計の道に終わりはなかった! -
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up