tsdima писал(а):
Хотя, можно было бы превращать свёрнутую часть схемы в контейнер, добавляя её на палитру.Собственно, именно это я и предложил.
tsdima писал(а):
Зачем ставить Interface и потом указывать его тип, когда можно просто поместить компонент нужного нам типа?Указали.
А в какое место будем засовывать новые методы.
Ну и наконец - абстрактный интерфейс. Это означает не более, чем то -- что парент является пустышкой.
Т.е., имеются в виду элементы, обладающие одинаковым набором точек, но ничего общего изнутри.
И чего, теперь: избавились (предположим на секунду) от интерфейса, но получили какую-то глупую пустышку... Кстати, я так и не понял - а пустышку-то откуда возьмем....
tsdima писал(а):
Self тоже под вопросом. Можно использовать связку VirtualObject + родительский компонентНет, мне семантика Self-а представляется иной: VirtualObject + самый последний наследник.
Который, (в отличии от предка) пока еще не известен.
Разная у них семантика.
Но с одним соглашусь: Self - под вопросом.
Логически он вытекает из наследования реализации. Которая как бы появилась логически не из предыдущих предложений, а по нашей доброй воле.
Логически появилось лишь наследование интерфейса. Как необходимый (да еще и общепринятый) критерий совместимости статического и динамического типов. И все, что из этого следует: не более, чем наследование интерфейсов (в COM, например -- только такое наследование и есть).
Но ведь наследование реализации - тоже полезная штука.
О чем нам говорит принцип Оккама: не вводи новые сущности без необходимости. Вот он и вопрос для обсуждения: является ли наследование реализации для нас штукой настолько нужной, что вводим "новые сущности"