[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: 「Javaオブジェクト設計」




>たとえば
>class Person implements IName {
>    private String name;
>    public String getName() { return name }
>    public setName(String name) {this.name = name }
>}
>というようなINameを実装したclassを定義して
>どこかで
>IName namedPerson = new Person();
>とか
>void hogehoge(IName iName) {
>    System.out.println(iName.getName());
>}
>とかして使うぐらいの想像しかできません

近いです。こんな例が書いてありました。

public class NameAdressUI {
  private Vector nameAdresses = new Vector();

  public void addNameAdresses(INameAdress aNameAdress) {
    this.nameAdress.addElement(aNameAdress);
  }
}

>implements IName, IAddressせずに、常にinterface INameAdressを定義する
>必要はないのでは?(たまにはあるかもしれないけど)

私はずっと一つの interface に複数のアクセッサーを書いて implement して
いたのですが、Peter Coad ( "Code" は間違いでした^^;) の戦略は逆に、
徹底していてすごいと思いました。 

>「Peter Code の Java オブジェクト設計」を読んでみようと思いますが、
>この本の筆者は、なぜにそこまでinterfaceをつくりたがるんでしょ?

Plugable (プラグ接続性) を追求するためだと思います。
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008