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

Date: 2004-06-02 11:09 am (UTC)
yigal_s: (0)
From: [personal profile] yigal_s
> 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, то, о чем я говорил, то есть, числа и фигуры - вполне себе могут претендовать на статус легитимных объектов, мне так кажется.
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