手抜きコンポネント・コーディング
ポートベース・コンポネントを書くときに、できるだけコーディング量を減らすには:
- すべてフィールド方式を使う。
それが無理なときは:
- セッターが必要なポートが少数(1個か2個)なら、そこだけセッターにする。
- セッターの使用が多いなら、混乱を避けるために全部セッターにする。
- ゲッターは作らなくてよい(フィールドでよい)。
ワイヤリングは、h.printer = p.printer;
か、h.setPrinter(p.printer);
のどちらか。
セッターは:
- 利用者を信じて、引数チェックはしない。
- ポートの利用回数(1回だけ)とかのチェックもしない。
- どうにもならないときは、捕捉可能例外ではなくてランタイム例外を投げる。(ワイヤリング時にtry/catchが不要。)
特別なメカニズムを使わずに手書きでポートとワイヤリングを書いたときは、アノテーションは“人間にとってのメモ”として以外に使われないので、コメントにしてしまってもよい。(importを減らせる。)
/* @Require */
public void setHoge(Hoge hoge) {
// ...
}