yigal_s: (0)
yigal_s ([personal profile] yigal_s) wrote 2004-06-02 11:09 am (UTC)

О! Спасибо за ответ.

> Implementation inheritance has its uses. For me, it's mostly about the "template method" pattern - superclass methods using pure-virtual functionality.

О таком варианте я тоже писал вот здесь http://www.livejournal.com/users/yigal_s/217768.html?thread=349352#t349352
(я, правда, перепутал название "template method" pattern with "strategy" pattern, но суть их практически одна и та же). Но по сути такое использование наследования классов количественно ничтожно в сравнении с использованием наследования для указанных мной целей в обычной практике.

> Not every IsA relationship should be implemented as subclassing, that's for sure.

Почему? Можете привести содержательный пример?

Против интерфейсов Java я ничего не имею, я, типа, "возражаю" именно против наследования данных и имплементаций. С Ruby незнаком. Но, предполагая, о чем вы говорите, замечу, что действительно, подключение каких-то имплементаций и деклараций через наследование видится приемлемым. Другое дело, что такое подключение mixins - это по сути подключение приватных базовых классов. Даже если имплементация и используется клиентом класса, преобразование класса к базовому "mixin" бессмысленно, полагаю.

> Also, some problem space entities shouldn't be objects at all - OO design certainly tries to be everything, but it isn't, and sometimes we actually have to learn new things.

Можете привести содержательный пример? Anyway, то, о чем я говорил, то есть, числа и фигуры - вполне себе могут претендовать на статус легитимных объектов, мне так кажется.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting