/ 最近 .rdf 追記 編集 設定 本棚

脳log[20210702]



2021年07月02日 (金) なぜUserクラスは負債化しやすいのか “風刺動画”から理解する情報システム開発とモデリング - ログミーTech」■タイトルだけ読んで反応するんだけど、コーディング対象として「User」の名前しか発見できなかったのが敗因では? たぶんそういう状況への反省からこの辺のアイディアが出てきてるんだと思う。「PHP Mentors — 「Lean Architecture / DCI Evening」参加レポート」 ざっくり言うと、コンテキストに応じてロールをアタッチしたりデタッチしたりすること。一人一人の User は存在する。しかし負債化する User と異なりこの User は場(コンテキスト)に応じていくつかの役割を受け持つことができる。それらを全部一緒くたにしてひとつの User クラスにまとめたのが間違いで、個々の側面を Role に分離してモデル化すべきだった、という話だったのではないかと想像しました(読みなさいよ)。■役者(User)と振る舞い(ロール)だけではない。演じる場が第三のコーディング対象。ユースケースという表現もされている。「ユースケースのコードをオブジェクトよりも上のレイヤーに取り出す、ということをやってみましょう。今、ユースケースのコードは、オブジェクトのクラスの中にあります。このユースケースの部分を、クラスの外側に出すのです。そうすると、オブジェクトの方は基本的なクラスのインスタンスのままなので、とても単純です。しかし、これらは実際のところユースケースの一部にはなりません。では、ユースケースの部品は何でしょうか? ロールですね。ユースケースの部品は、ロールの中にあります。開発者は、このようなロールの中からいくつかを選んでまとめます。このまとまりを、コンテキストと呼びます。 つまり、コンテキストがユースケースに相当します。」■ゲームの造りにこれと似た構造があるという話。世界があってプレイヤーキャラクターがいて、プレイヤーははしごを登ったり椅子に座ったり運転席に乗り込んだりする。ゲームの造りとしての話だけど、プレイヤーが世界中のあらゆるオブジェクトに対してどう振る舞えばいいのか何が起こるのかを知っているのではなく、逆にインタラクティブオブジェクトの方がプレイヤーキャラクターの動きをプログラムして操っているのだとか。なんか似てない?