MVC今日もまたコーディング。Codingが大好きだから。仕事先からもらった資料でオブジェクト指向の勉強中。だいたいは知っていることだけど、時々は知らないことも出て来て勉強になる。カプセル化と情報隠蔽カプセル化......データと操作をひとまとめにして扱うこと。情報隠蔽......データへの直接アクセスを阻止すること。これまで両方ひとまとめにしていた(資料では「そういう技術書もある」と補足されていた通り)ので、カプセル化の概念がいまひとつわからなかったが、これで合点がいった。汎化(継承)と拡張(extends)もらった資料では継承と拡張の違いがよくわからなかったので検索して調べた。アクタA」の関係が成り立ちます。拡張ユースケースAに対して、機能を追加するようなユースケースBの関係を示します。汎化の場合は、「〜のうちの一種」という関係で、抽象化の逆になる、ということか。アクター間でも汎化が使える、というのは新しい気づきだった。オブジェクト側でばかり考えていた。これまで、アクターが汎化されるようなケースでいろいろ悩みがちだったので。抽象クラスとインターフェイス抽象クラス......データ項目と抽象操作をまとめたもの。インターフェイス......抽象操作のみをまとめたもの。Enumulateインターフェイスとか、よくわからず使っていたけれど、なるほど、抽象操作(メソッド)という観点で把握すればいいのか。ユースケース記述ユースケースの内容を詳細に記述する。このDescriptionsから処理を書き起こしていけばいいわけで、わかりやすい。これまでユースケースから「えいや」でそのまま処理を起こしていたので、自分でも「どうも大雑把だな」と感じていたし、先生にも「関数化が未熟」と指摘されていた。ここのところをきちんとやれば改善されそう。ロバストネス分析とMVCロバストネス分析......エンティティオブジェクト、バウンダリオブジェクト、コントロールオブジェクトで分析する手法。バウンダリオブジェクト......アクターとシステムの接触点を示す。これはMVCのViewになると思われる。エンティティオブジェクト......現実世界のオブジェクトを表現する。これは主にMVCで言うModelになると思われる。コントロールオブジェクト......ユースケースに対応する。ユースケースの完了と同時に消滅する。この説明のおかげで、MVCの意義がやっとわかってきた。いうかコントロールオブジェクトの意義がやっとわかってきた。controller」として嫌われるというのはまぁ分かるんだけど、こういう基準があれば、fattyかどうかの判断がしやすい。管理オブジェクトというのもあるらしい。オブジェクトの生成や削除を管理し、リストを持つことで外部からの利用が便利になる。これもなかなか為になる。ロバストネス分析がMVCと一致するわけでもないらしい。エンジニア文章、写真、デザイン、コーディングまで一通りこなす自走式フルスタックブロガー。読者になる@mogami74をフォローはてなブログをはじめよう!mogami74さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。