Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2014-01-20 15:40:24 ЛС | профиль | цитата
tsdima писал(а):
Хотя, можно было бы превращать свёрнутую часть схемы в контейнер, добавляя её на палитру.

Собственно, именно это я и предложил.

tsdima писал(а):
Зачем ставить Interface и потом указывать его тип, когда можно просто поместить компонент нужного нам типа?

Указали.
А в какое место будем засовывать новые методы.
Ну и наконец - абстрактный интерфейс. Это означает не более, чем то -- что парент является пустышкой.
Т.е., имеются в виду элементы, обладающие одинаковым набором точек, но ничего общего изнутри.

И чего, теперь: избавились (предположим на секунду) от интерфейса, но получили какую-то глупую пустышку... Кстати, я так и не понял - а пустышку-то откуда возьмем....

tsdima писал(а):
Self тоже под вопросом. Можно использовать связку VirtualObject + родительский компонент

Нет, мне семантика Self-а представляется иной: VirtualObject + самый последний наследник.
Который, (в отличии от предка) пока еще не известен.
Разная у них семантика.

Но с одним соглашусь: Self - под вопросом.
Логически он вытекает из наследования реализации. Которая как бы появилась логически не из предыдущих предложений, а по нашей доброй воле.
Логически появилось лишь наследование интерфейса. Как необходимый (да еще и общепринятый) критерий совместимости статического и динамического типов. И все, что из этого следует: не более, чем наследование интерфейсов (в COM, например -- только такое наследование и есть).

Но ведь наследование реализации - тоже полезная штука.
О чем нам говорит принцип Оккама: не вводи новые сущности без необходимости. Вот он и вопрос для обсуждения: является ли наследование реализации для нас штукой настолько нужной, что вводим "новые сущности"
карма: 9

0