One Service Per Class

1クラス1サービス

小さくてシンプルなプログラムが最もメンテナンスしやすいもの。機能が複雑に絡み合ったプログラムは理解するのに時間がかかるし、メンテナンスもしづらいです。

クラスをユーザ(クライアント)のためのサービス群の定義見なすことができる。ここでは publicメソッドがサービスとなります。

∴ 各クラスに行うべき1つの仕事を与える。

だからといってpublicメソッドを1個に制限しろと言っているわけではないよ。1つのサービスは複数のメソッドを必要とすることもあるから。たとえば、コンパイラーの内部で使われる「シンボル・テーブル」ではsetとgetの2メソッドを必要とするけど「情報のリポジトリ」という1つのサービスを提供してるでしょ。