<輪読会>オブジェクト指向でなぜつくるのか -第1章 オブジェクト指向はソフトウェア開発を楽にする技術-
輪読会メンバー
- Izumi Haruya
- Sekine Yutaro
- Abe Kaisei
まえがき
- 旧版と比べて第3版の変更点
- 「オブジェクト指向がなぜ難しいのか」をより客観的な視点で説明することに注力するようになった
引用:オブジェクト指向でなぜつくるのか P10
(本書で気になる問い)
- モデリングとコミュニケーションを重要視する
- 「一見凄そう」で終わらない(理解しようとする)姿勢が大事
第1章 オブジェクト指向はソフトウェア開発を楽にする技術
オブジェクト指向はソフトウェア開発の総合技術
- オブジェクト指向でなぜ作るのか
- ソフトウェアを楽に作るため
- 難しいソフトウェア開発を楽に行うための総合技術である
モノ中心にソフトウェアを組み上げる開発手法
- 手続き型(システム全体を集合的に扱っている)
- (デメリット)仕様変更や機能追加の際の修正範囲が広い
- (デメリット)ソフトウェアの再利用が難しい
- オブジェクト指向(システムを部品に分け、独立性を持たせ、システム全体を構築している)
- (メリット)仕様変更や機能追加の際の修正範囲が狭い
- (メリット)ソフトウェアの再利用が容易
プログラミング言語から総合技術に進化した
引用:オブジェクト指向でなぜつくるのか P23
オブジェクト指向が難しい理由
プログラミング言語の仕組みが複雑
- 今までは仕組みが単純だったが、技術発展と共に仕組みが複雑になっていった
- 単純にコードを上から読むでは済まなくなってしまった
- 上記の理由から使いこなすまでには時間がかかるようになった
- 用語自体が難しい
- 今までは仕組みが単純だったが、技術発展と共に仕組みが複雑になっていった
比喩を使った説明による混乱
- 説明時の比喩が独特なことが多く、情報の中身よりも比喩の印象が強く残ってしまう
オブジェクト指向というコンセプトが抽象的
- モノ中心というコンセプトが抽象的である
- 現実世界とコンピュータの世界は似て非なるものである
上記のことからそのまま当てもはめてもうまくいかない
(独自の解釈)業務委託などの場合では、手続き型とオブジェクト指向の中間など、明確なポジションを取ることが少ない場合があるため、実務との乖離が生じ、理解しにくいケースもある
オブジェクト指向技術のwhatとwhyを説明する
本書の目標
- 論理の飛躍をせずわかりやすく説明すること
オブジェクト指向を難しくしている理由3つに対する方針
- プログラミング言語の歴史を踏まえて、メリットを具体的に説明する
- 比喩による説明は最小限に抑えて説明をする(比喩を使う場合はその旨を明示する)
- プログラミングの仕組みと、「モノ中心」で汎用的に物事を捉える考え方は別物として、分けて説明する
本書の構成
引用:オブジェクト指向でなぜつくるのか P30
上記の図で示す通り
前半部:プログラミング技術
後半部:プログラミング技術の応用
参考書籍
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識 | 平澤 章 |本 | 通販 - Amazon.co.jp