まつもと ゆきひろです

In message "[ruby-list:6817] Re: Delegetor [Re: Counter class ]"
    on 98/02/27, 石塚圭樹 <keiju / rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.

|>そーゆー問題ではないと思うんですけど.
|>
|>        委譲先のオブジェクトの仕様+付け加えた仕様
|>
|>という現在のモデルと
|>
|>        基のクラスの仕様+委譲先のオブジェクトの仕様+付け加えた仕様
|>
|>というモデルの違いを問題にしているんですけど….
|
|良く理解できていないんですが...
|
|class Foo
|end
|
|class Bar < Foo
|  include Delegatable
|  
|  def initialize(obj)
|    super
|    @obj = obj
|  end
|  ...
|end
|
|となっている場合, どれがどの仕様になっているんですか?

この場合存在している仕様は

  Fooの仕様
  Barの仕様(Fooに対して追加されたもの)
  委譲先の仕様

になりますね.んーと,そうか.Barの仕様に対して委譲先の仕様
が追加されたと考えるわけですね.それはそれで納得できるか.

私は

  class Bar<Delegator
    ...
  end

で「委譲先の仕様にBarで新たに追加した仕様を足した」と考えて
いました.それはそれできれいなモデルなのですが,これを「Bar
の仕様に委譲先の仕様を足した」と考える(交換則 :-))と「Barの
仕様はどこかから継承されて来たものを含んでも構わない」という
結論にも納得できます.

ちゅーわけで,今後は Delegatable の存在に反対しません.

                                君子豹変? ^^;;;
                                まつもと ゆきひろ /:|)