Observerパターンは、オブジェクト間の1対多の依存関係を定義し、あるオブジェクトの状態が変化するとそれに依存しているすべてのオブジェクトが自動的に通知され更新されるようにする。共通の処理を抽象クラスに書きサブクラスが継承する。いわゆる差分プログラミング。飛ぶ振る舞いを基底クラスに追加したがDuckのすべてのサブクラスが飛ぶ必要はない。アーキテクチャとは、設計の構造であり、アプリケーション内において重要である部分とそれらの重要部分間での関係に着目する。アーキテクチャとは、システムの組織化された構造である。今まではせいぜい10個程度のクラスのアプリケーションを開発してきた。→大きな問題も小さな問題と同じように解決する。アプリケーションの変更時に問題が発生するのは、ソフトウェアの柔軟性が足りないから。「凝集度」を高めて結合の問題を解決する。筆者はよい習慣(プラクティス)を取り入れることで毎日の仕事を改善することができ、しかもそれは社員数4人の規模の会社から筆者が務めるSASのようなグローバル企業でも通用するという。ソフトウェアの変更が困難になっていれば顧客からの変更要求に対応することが難しくなる。既存のソフトウェアの設計を改善することを通して、柔軟な設計を学ぶ。テキスト分析によって、今まで作成してきたユースケースを顧客が必要とする内容を表現するクラスやメソッドに変換する方法を学ぶ。ソフトウェアは理想の世界ではなく、現実世界で動作する必要がある。設計やアプリケーションがどんなに素晴らしくても、やがてアプリケーションは成長し変更される。この章では、要件変更に対応するための方法を学ぶ。素晴らしいソフトウェアへの第1歩は、顧客が必要としている処理の実行。オブジェクト指向設計』を読み始めた。顧客志向の考え方が非常に良いと思う。コードを書いてWebアプリケーションを作る目的は顧客の要望を叶え、必要な機能を提供することなのだ。コードが汚いとかきれいとかは結局、顧客にとっては関係ない。テスト駆動開発でやろうとは思ったものの、テスト書くのにめちゃくちゃ時間かかりすぎて、これ意味あるのか?と思ったり、迷走しはじめたので読んだ。技術書API設計をしなければいけなくなったが、大して知識や経験もなく、ネットで落ちてる断片的な情報では限界を感じて買って急いで読みました。知りたいことが体系的にまとまっていて、大変良かったです。よいAPIとはなにかを考えさせられた。『「納品」をなくせば、うまくいく』を読んだ。コードはJavaで書かれているが、Javaを書きたくなかったのでPHPで書くことにした。PHP今更感はありますけど、『テスト駆動開発』をコツコツ写経しています。PHPを使いたいのでPHPで書いているんですけど、本ではJavaで実装されていて12章あたりからちょっとつまづいてます。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。