- 229 名前:50 mailto:sage [2008/09/24(水) 14:13:55 ]
- >>76-78
私が言及していた、継承を必要とするフレームワークとは Rails のことです。 継承が危険だとはよく言われますが、、継承を多用しなければ Railsの簡潔さ はかなり損なわれたことでしょう。 継承そのものが悪という視点には、あまり賛同できません。例えばプロトタイ プベースの言語なら、委譲でも同様の問題が起こるからです。継承にせよ委譲 にせよ、他のオブジェクトへのプロパティの探索が自動的に行われる仕組みが ある限り、この問題は必ず起こるでしょう。それは簡潔さとのトレードオフです。 しかしここでは、継承の善悪にはこれ以上踏み入りたくないのです。私は、 Rubyにおいては継承がいっそう危険になっているという点に、話を絞りたいです。 そもそも、継承の良し悪しや好き嫌いにかかわらず、私たちは業務でRailsを使 わざるを得ません。 >>76 トップレベルにメソッド定義というのは、フレームワークが強制するという話 ではなく、初心者プログラマが知らずに作ってしまう危険性を言っています。 トップレベルの関数がObjectクラスのprivateメソッドだというのは確かにう まい仕組みだと思いますが、これを知っている人は、Ruby利用者の半数以下だ と思います。これは直感的に予想しづらい、危険な仕様ではないでしょうか? 何も知らないでトップレベルに def object_id; 0 end などと書けば、すべて のオブジェクトインスタンスのidが0になってしまうのです。そしてこれを書 くことは、プロジェクトに関わるどの人間にも可能なのです。
|

|