ちょうぜつソフトウェア設計入門ーー PHP で理解するオブジェクト指向の活用(チョウゼツソフトウェアセッケイニュウモンーーピーエイチピーデリカイスルオブジェクトシコウノカツヨウ)
プログラミング- 著者:
- 田中 ひさてる(タナカ ヒサテル)
- 出版社:
- 技術評論社
- 出版日:
- 2022年12月10日
- ISBN:
- 9784297132347
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
SoftwareDesign 誌での連載と技術アドベントカレンダー 24 回ぶんに収まらなかった関連知識を徹底解説。いわゆる「オブジェクト指向」と呼ばれる考え方から発展した分野は、どのようにソフトウェア設計の役に立つのかを、よく知られた原則、テスト駆動開発、デザインパターンなどを通じて理解できる一冊です。上級者には定番の知識を体系的に整理するヒントとして、初級者には可愛いイラストで覚えるキーワード集として、幅広く活用していくことができます。なお、サンプルコードは PHP で書かれていますが、他の言語に置き換えて読めるコードばかりです。 PHP を使っているかどうかを問わず、全ての開発者にオススメです。
第 1 章 クリーンアーキテクチャ
第 2 章 パッケージ原則
第 3 章 オブジェクト指向
第 4 章 UML (統一モデリング言語)
第 5 章 オブジェクト指向原則 SOLID
第 6 章 テスト駆動開発
第 7 章 依存性注入
第 8 章 デザインパターン
第 9 章 アジャイル開発
技書の森解説
PHP のコードは書けるが、クラス設計になると「どこに何を置けばいいのか分からない」という段階のエンジニアに向けた設計入門書です。 SOLID 原則、依存性注入、デザインパターン、クリーンアーキテクチャといったオブジェクト指向設計の定番概念を、すべて PHP のコードで例示しながら解説します。
著者の田中ひさてる氏は PHP カンファレンスでの登壇でも知られ、抽象的な設計原則を具体的で短い PHP コードに落とし込む説明力に定評があります。「 SOLID って何がうれしいの」「 DI コンテナを使う理由がピンと来ない」という疑問を、動くコードで腑に落とすアプローチが本書の核です。言語に依存しない設計原則を扱うため、 PHP を主戦場としない読者にも考え方そのものは応用がききます。
設計原則をまったく知らない状態から読み始められる入門書ですが、フレームワーク (Laravel 等) への具体的な適用までは踏み込んでいません。原則を理解した後に自分のプロジェクトへ持ち帰り、フレームワーク上で試行錯誤する段階へ進む橋渡しとして使う本です。
この本に興味がある方におすすめ
この本に関連
関連記事
ソフトウェア開発の歴史を変えた 5 冊の技術書
アルゴリズムの学問化からコードの可読性革命まで、ソフトウェア開発の方向性を決定づけた 5 冊の技術書を、時代背景とエピソードとともに紹介します。
写経を超える - 技術書のコードを自分のプロジェクトに応用する方法
技術書のサンプルコードを写経するだけでは実力は伸びません。書籍のコードを自分のプロジェクトに応用し、実務で使える力に変える 5 つのステップを解説します。
設計の引き出しは経験だけでは増えない
実務経験だけでは設計の引き出しに限界があります。なぜ経験だけでは不十分なのか、本が設計力に対して果たす、他で代えにくい役割を論じます。
関連用語
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
オブジェクト指向
データと操作をオブジェクトとしてまとめ、現実の概念に近づけて設計する考え方
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
デザインパターン
ソフトウェア設計で繰り返し現れる問題に対する再利用可能な解決策のカタログ
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト