Chapter 1 - Practical Object Oriented Design in Ruby

いい本だと紹介されていたのと英語の勉強など。

第1章はオブジェクト指向デザインの基本的な紹介。

概要

ソフトウェア開発に変更は付き物。なぜなら顧客は自分が求めているものが最初の段階で解っていない。

なので、変更を容易にするのがOOD(Object Oriented Design)の目的。

OODはオブジェクト間の依存性を管理する技術。

1つのオブジェクトに対して多くの依存関係があると、そのオブジェクトの変更がある場合の影響範囲が大きくなってしまう。

Designとはソフトウェアの未来を予測することではない。 単に、何がまだ未確定か、どう変化していくか、現時点で解っていないかを許容する。

良いデザインはiterativeに発見されるもので、Agile的な開発と相性が良い。 Agileの基本的な概要についても説明されている。

感想

今の所それほど発見的な内容はないけど、Agile周りに関してわかりやすく説明されている印象。

英単語

  • immersion

    the action of immerse to someone or something in liquid. immerseは浸す。

    the first learning how to do object-oriented design is to immerse yourself in objects.

  • inevitable 回避できない

    (Software) Change is unavoidable. It is ubiquitous, omnipresent, and inevitable.

  • wreak もたらす

    In the absence of design, unmanaged dependencies wreak havoc because objects know too much about one another.

  • amenable 従順な

    you must also create code that is amenable to being changed later.

  • excess 過剰

  • zeal 熱心

    However the popularity of patterns led to a kind of abuse by novice programmers, who, in an excess of well-meaning zeal, ...

  • premise 前提 if this premise it true, ...