【オブジェクト指向のこころ】第一部 オブジェクト指向 ソフトウェア開発入門

1章から2章までの内容を振り返り、

まとめていきます。

 

ただ読むだけでは、

理解できていない気がする。

実務の中での活かしかたを考えていきたい。

 

1章 オブジェクト指向パラダイム

システムを作成するとき、

オブジェクト指向で考えるコツ。

二つの観点で考える。

一つ目の観点は下記2つ。

プログラムに持たせる責任を考える。

何をさせるかというよりは、何をして欲しいかを考える。

  1. 名詞:オブジェクト
  2. 責任:メソッド

例:「コメダ珈琲にいる自分(カネコチ)」がオブジェクトであり、「注文する必要がある」がメソッド。

 

2つ目の観点は下記3つ。

「概念」

責任の集合体であり、作るべきソフトウェアとは関係無く考える。(オブジェクトのこと)

「仕様」

ソフトウェアを考慮した責任の集合であり、それらの紐付きを考える。(インターフェースを考えること)

「実装」

プログラミングにあたる部分。どう責任を果たすかを考える。

 

システムの設計を考える上で「動詞」を元に考えることが多かった。

しかし、「責任」を元に考えるというのは、

「動詞」より納得感がある。(うまく言語化できないが…)

責任(やって欲しいこと)をベースに、

必要なものは何かという考え方は今後設計、製造の時に使っていきたい。

 

2章 UML統一モデリング言語

本章はこの後の章で利用されるUML図に限って、解説している。

クラス図、シーケンス図が解説されていた。

 

UMLは様々な図を用いて、

チームメンバや顧客とコミュニケーションを行なうためのツール。

形のないシステムの設計を分かり易く伝える。

表現を統一することにより、

スムーズなコミュニケーションをはかれる。

図の正しい書き方は気にしなくて良い。

相手に伝わる書き方をすることが重要であり目的。

 

UML内のアクセス可能性の表記法。

Public:どこでも

プラス記号(+)

Protected:対象のクラス、派生クラスなら

シャープ記号(#)

Private:対象のクラスだけ

マイナス記号(−)

クラス間の関連の表現の型。

1.コンポジション

is-a関係。

クラスの一部になっているクラス。

例:車の一部のタイヤ、エンジン。

2.集約

has-a関係。

クラスが他のクラスを「保持」。

uses-a関係。

クラスが他のクラスを「使用」。

何とか関係の記載なし。

クラスが他のクラスを「生成」。

カーディナリティ

1…0などオブジェクト間のか関係性の数を表す。

まとめというか感想

  <p>
    オブジェクト指向の基礎的なところを詰め込んだ内容という感じ。
  </p>
  
  <p>
    1章の内容にあった「責任」を考えることで、
  </p>
  
  <p>
    オブジェクト指向での設計をするというのは、
  </p>
  
  <p>
    新しい発見だった。
  </p>
  
  <p>
    <!-- START MoshimoAffiliateEasyLink -->
    
    <br />
  </p>
  
  <div id="msmaflink-XCiHU">
    リンク
  </div>
  
  <p>
    <!-- MoshimoAffiliateEasyLink END -->
  </p>
Licensed under CC BY-NC-SA 4.0
Last updated on Jun 24, 2022 05:40 UTC
Built with Hugo
Theme Stack designed by Jimmy