書籍概要
ちょうぜつソフトウェア設計入門
――PHPで理解するオブジェクト指向の活用
- 著者
- 田中ひさてる 著
- 発売日
- 更新日
概要
SoftwareDesign誌での連載と技術アドベントカレンダー24回ぶんに収まらなかった関連知識を徹底解説。いわゆる「オブジェクト指向」と呼ばれる考え方から発展した分野は,
こんな方におすすめ
- ソフトウェア開発にかかわるすべてのエンジニア,
PHPプログラマ, Webプログラマ, アーキテクトなど
サンプル
- サンプルPDFファイル1(1,392KB)
サポート
正誤表
本書の以下の部分に誤りがありました。ここに訂正するとともに,
(2024年3月25日最終更新)
P.13
誤 | 管理する方法をを |
---|---|
正 | 管理する方法を |
P.18
誤 | おさえさえる |
---|---|
正 | おさえさせる |
P.22
誤 | “Reuse-Release Equivalent Principle(REP)” |
---|---|
正 | “Reuse-Release Equivalence Principle(REP)” |
P.25
誤 | それ意外 |
---|---|
正 | それ以外 |
P.28
誤 | 閉鎖性共通の原則(CCP)加えて |
---|---|
正 | 閉鎖性共通の原則(CCP)に加えて |
P.44
誤 | を持ちもます |
---|---|
正 | を持ちます |
P.53
誤 | そうした面をだけを |
---|---|
正 | そうした面だけを |
P.58
誤 | 連想でない |
---|---|
正 | 連想できない |
P.66
誤 | 図4-1 WheelS |
---|---|
正 | Wheels |
P.70
誤 | していると |
---|---|
正 | していること |
P.73
誤 | 図4-7 articlePreseneter:ArticlePreseneter |
---|---|
正 | articlePresenter:ArticlePresenter |
P.74 図4-9
誤 | fe^tch |
---|---|
正 | fetch |
P.74 図4-9
誤 | visualised |
---|---|
正 | visualized |
P.80 図5-1
誤 | writer |
---|---|
正 | Writer |
P.80 図5-1
誤 | subscrbe() |
---|---|
正 | subscribe() |
※UML図の矢印の頭を取る
P.81
誤 | Subscrbe() |
---|---|
正 | subscribe() |
※UML図の矢印の頭を取る
P.83 図5-4
誤 | DatebasedriverInterface |
---|---|
正 | DatebaseDriverInterface |
P.84
誤 | “Open Close Principle(OCP)” |
---|---|
正 | “Open Closed Principle(OCP)” |
P.93
誤 | remains件 |
---|---|
正 | done件 |
P.93 リスト5-12
誤 |
|
---|---|
正 |
|
P.93 リスト5-13
誤 |
|
---|---|
正 |
|
P.94 リスト5-14
誤 |
|
---|---|
正 |
|
P.94 リスト5-14
誤 |
|
---|---|
正 |
|
P.97
誤 | “Intereface Seperation Principle()” |
---|---|
正 | “Intereface Segregation Principle()” |
P.98 リスト5-17
誤 |
|
---|---|
正 |
|
P.98 リスト5-17
誤 |
|
---|---|
正 |
|
P.98 リスト5-17
誤 |
|
---|---|
正 |
|
P.98 リスト5-17
誤 |
|
---|---|
正 |
|
P.98 リスト5-18
誤 |
|
---|---|
正 |
|
P.98 リスト5-18
誤 |
|
---|---|
正 |
|
P.99 リスト5-19
誤 |
|
---|---|
正 |
|
P.99 リスト5-19
誤 |
|
---|---|
正 |
|
P.99 リスト5-19
誤 |
|
---|---|
正 |
|
P.99 リスト5-19
誤 |
|
---|---|
正 |
|
P.119
誤 | 単位のテスト |
---|---|
正 | 単体のテスト |
P.125
誤 | TeatCaseクラス |
---|---|
正 | TestCaseクラス |
P.134
誤 | willretuen() |
---|---|
正 | willreturn() |
P.142
誤 | テストと実装はこうなります |
---|---|
正 | テストとコードを書く手順は割愛しますが、この進め方でいくと実装はこうなります |
P.155 リスト6-38
誤 |
|
---|---|
正 |
|
P.155 リスト6-39
誤 |
|
---|---|
正 |
|
P.160
誤 | 実装コード見るまで |
---|---|
正 | 実装コードを見るまで |
P.171
誤 | 役立つ |
---|---|
正 | 役に立つ |
P.172
誤 | ピンと来きませんね。 |
---|---|
正 | ピンと来ませんね。 |
P.176
誤 | 保証しいる |
---|---|
正 | 保証している |
P.106
誤 | なせならそれは |
---|---|
正 | なぜならそれは |
P.199
誤 | リスト8-3 getIterationの省略 |
---|---|
正 | リスト8-3 getIterator()の省略 |
P.200
誤 | $itrerator |
---|---|
正 | $iterator |
P.202 リスト8-7
誤 |
|
---|---|
正 |
|
P.203
誤 | RequestHandlerInterafce |
---|---|
正 | RequestHandlerInterface< |
P.203 リスト8-9
誤 |
|
---|---|
正 |
|
P.204 リスト8-9
誤 |
|
---|---|
正 |
|
P.204 リスト8-9
誤 |
|
---|---|
正 |
|
P.207
誤 | PrizeItemInterafceとしましょう |
---|---|
正 | PrizeItemInterfaceとしましょう |
P.207 リスト8-10
誤 |
|
---|---|
正 |
|
P.207 リスト8-11
誤 |
|
---|---|
正 |
|
P.208 リスト8-11
誤 |
|
---|---|
正 |
|
P.209 リスト8-12
誤 |
|
---|---|
正 |
|
P.210 リスト8-13
誤 |
|
---|---|
正 |
|
P.212
誤 | PrizeItemInterafce |
---|---|
正 | PrizeItemInterface |
P.220
誤 | createAnimal()メソッド |
---|---|
正 | createPet()メソッド |
P.231 リスト8-32
誤 |
|
---|---|
正 |
|
P.232 リスト8-32
誤 |
|
---|---|
正 |
|
P.232 リスト8-33
誤 |
|
---|---|
正 |
|
P.233 リスト8-33
誤 |
|
---|---|
正 |
|
P.233 リスト8-33
誤 |
|
---|---|
正 |
|
P.234 リスト8-34
誤 |
|
---|---|
正 |
|
P.234 リスト8-34
誤 |
|
---|---|
正 |
|
P.234 リスト8-34
誤 |
|
---|---|
正 |
|
P.235 リスト8-36
誤 |
|
---|---|
正 |
|
P.237 リスト8-37
誤 |
|
---|---|
正 |
|
P.237
誤 | MailerInterafce |
---|---|
正 | MailerInterface |
P.237 リスト8-38
誤 |
|
---|---|
正 |
|
P.241 リスト8-41
誤 |
|
---|---|
正 |
|
P.242
誤 | よくありあす |
---|---|
正 | よくあります |
P.247 図8-18
誤 | node1 |
---|---|
正 | leaf1 |
P.247 図8-18
誤 | node2 |
---|---|
正 | leaf2 |
P.247 図8-18
誤 | node3 |
---|---|
正 | leaf3 |
P.249 リスト8-46
誤 |
|
---|---|
正 |
|
P.262 リスト8-55
誤 |
|
---|---|
正 |
|
P.263 リスト8-55
誤 |
|
---|---|
正 |
|
P.273
誤 | 方法考える |
---|---|
正 | 方法を考える |
P.297
誤 | 意味でしなかい |
---|---|
正 | 意味でしかない |
P.307
誤 | Clear Craftmanship |
---|---|
正 | Clean Craftsmanship |
(以下2023年1月5日更新)
P.xxiv
誤 | パッケージ原則を支えるためのに |
---|---|
正 | パッケージ原則を支えるために |
「の」が不要です。
P.9
誤 | 依存の実動作に違いが起きていることもあるれば |
---|---|
正 | 依存の実動作に違いが起きていることもあれば |
「る」が不要です。
P.49 ▼リスト3-7 多態性を活用したロギングのオンオフ コメント文
誤 |
|
---|---|
正 |
|
「o」が不要です。
P.138
誤 | ▼リスト6-13 src/core/NumberConverter.php |
---|---|
正 | ▼リスト6-13 src/Core/NumberConverter.php |
誤 | ▼リスト6-14 tests/core/NumberConverterTest.php |
---|---|
正 | ▼リスト6-14 tests/Core/NumberConverterTest.php |
P.147
誤 | ▼リスト6-27 src/core/ReplaceRuleInterface.php(初案) |
---|---|
正 | ▼リスト6-27 src/Core/ReplaceRuleInterface.php(初案) |
P.161
誤 | ▼リスト6-44 src/core/ReplaceRuleInterface.php(第2案) |
---|---|
正 | ▼リスト6-44 src/Core/ReplaceRuleInterface.php(第2案) |
P.190
誤 | ▼リスト7-19 config/services/yaml(最適化版) |
---|---|
正 | ▼リスト7-19 config/services.yaml(最適化版) |
P.234 ▼リスト8-36 Mediatorのコードのミスページ
誤 |
|
---|---|
正 |
|
P.253 ▼リスト8-50 Strategy パターンによる実現方法
誤 |
|
---|---|
正 |
|
P.254 ▼図8-20 Strategyパターンによる式 図の中にある文字の修正
誤 | CalcurationStrategyInterface |
---|---|
正 | CalculationStrategyInterface |
誤 | PlusCalcurationStrategy |
---|---|
正 | PlusCalculationStrategy |
誤 | MinusCalcurationStrategy |
---|---|
正 | MinusCalculationStrategy |
P.255 9行目
誤 | calcurate() |
---|---|
正 | calculate() |
P.284
誤 | モデル駆動設計(MDD:Make Driven Design) |
---|---|
正 | モデル駆動設計(MDD:Model Driven Design) |
商品一覧
-
みんなのアジャイル
2,400円
-
Flutter
で始めるはじめてのモバイルアプリ開発 2,800円
- EPUB
-
Python
科学技術研究所
――分析・解析の超プログラミング 2,400円
-
【改訂新版】
C 言語ではじめる Raspberry Pi 徹底入門 3,200円
-
もう一度プログラミングをはじめてみませんか?
――人生を再起動するサバイバルガイド2,000円
- EPUB
-
ML Systems Data-centric AI
入門 3,200円
-
改訂新版 良いコード/
悪いコードで学ぶ設計入門
―保守しやすい 成長し続けるコードの書き方3,200円
- EPUB
-
Ruby on Rails アプリケーションプログラミング
3,600円
-
めもりーちゃんの
PHP でプログラミング入門 2,500円
-
詳解 Jetpack Compose
──基礎から学ぶAndroid アプリの宣言的 UI 3,200円
- EPUB
-
図解即戦力 図解即戦力
SAP S/4HANA の導入と運用がこれ 1 冊でしっかりわかる教科書 2,400円
-
[改訂新版]
プロになるための Web 技術入門 3,600円
- EPUB
-
作って学べる開発入門 作って学べる Unity
本格入門
[Unity 6対応版] 2,800円
-
WEB+DB PRESS plus モバイルアプリアクセシビリティ入門
──iOS + Android のデザインと実装 2,800円
- EPUB
-
エンジニア選書 LangChain
と LangGraph による RAG ・ AI エージェント [実践] 入門 3,600円
- EPUB
-
JavaScript
プログラマーのための TypeScript 厳選ガイド
〜JavaScript プロジェクトを型安全で堅牢にする書き方を理解する 2,400円
- EPUB
-
JavaScript
によるはじめてのアルゴリズム入門 3,200円
-
Tech × Books plus 改訂新版
[エンジニアのための] データ分析基盤入門<基本編> データ活用を促進する! プラットフォーム& データ品質の考え方 3,000円
- EPUB
-
改訂新版 最短距離でゼロからしっかり学ぶ Python
入門 実践編
〜ゲーム開発・データ可視化・ Web 開発 3,500円
-
改訂新版 最短距離でゼロからしっかり学ぶ Python
入門 必修編
〜プログラミングの基礎からエラー処理、テストコードの書き方まで3,300円
-
Python FastAPI
本格入門 3,000円
-
エンジニアチームの生産性の高め方
〜開発効率を向上させて、人を育てる仕組みを作る3,000円
- EPUB
-
Power Automate
快速仕事術
――業務自動化の「計画」 「設計」 から Copilot 活用まで 2,000円
-
今すぐ使えるかんたん 今すぐ使えるかんたん
Copilot in Windows1,700円
-
失敗しない システム企画
~「経営コンサルタントの視点」 でビジネスを捉える~ 2,400円
- EPUB
-
エンジニア選書 Rust
で学ぶ WebAssembly
――入門からコンポーネントモデルによる開発まで3,000円
- EPUB
-
ラズパイ
5 対応 カラー図解 最新 Raspberry Pi で学ぶ電子工作 2,600円
-
Java
エンジニアのための ソフトウェアテスト実践入門
~自動化と生成AI によるモダンなテスト技法~ 3,200円
- EPUB
-
つくって、みなおす、デザインシステム
——現場での合意形成から設計、運用まで2,500円
- EPUB
-
3
ステップでしっかり学ぶ 3ステップでしっかり学ぶ
JavaScript入門
[改訂第3 版] 2,500円