このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

手抜きコンポネント・コーディング

ポートベース・コンポネントを書くときに、できるだけコーディング量を減らすには:

  • すべてフィールド方式を使う。

それが無理なときは:

  1. セッターが必要なポートが少数(1個か2個)なら、そこだけセッターにする。
  2. セッターの使用が多いなら、混乱を避けるために全部セッターにする。
  3. ゲッターは作らなくてよい(フィールドでよい)。

ワイヤリングは、h.printer = p.printer;か、h.setPrinter(p.printer);のどちらか。

セッターは:

  1. 利用者を信じて、引数チェックはしない。
  2. ポートの利用回数(1回だけ)とかのチェックもしない。
  3. どうにもならないときは、捕捉可能例外ではなくてランタイム例外を投げる。(ワイヤリング時にtry/catchが不要。)

特別なメカニズムを使わずに手書きでポートとワイヤリングを書いたときは、アノテーションは“人間にとってのメモ”として以外に使われないので、コメントにしてしまってもよい。(importを減らせる。)


/* @Require */
public void setHoge(Hoge hoge) {
// ...
}