> -- Иван Кузьмицкий писал(а):
> Концепция ведь довольно продуманная. Каждому элементу предметной области соответствует своя часть архитектуры. Тут разве что добавить в концепцию что-то новое, например, "бездокументное" окно. Или блочное, как предлагал\делал  Пётр, но что он под этим понимает - пусть лучше сам расскажет.Да я, в общем, в своей работе не трогал концепцию Document. Просто предположил, что отображение может работать и вне контейнера документа, если отображение не надо печатать, сохранять и т.д. Собственно, документ это частный случай отображения которое возвращает собственный фрейм (который на самом деле RootFrame, то есть, предназначен для бытия корнем дерева фреймов).

А так как связка Windows.port+Window.frame+Window.doc + Documents.Document прочно склеена друг с другом прямо в интерфейсе, то я оставил все как было, а сам реализовал окно, в котором вместо Window.doc ничего нет, а вместо одного .frame есть набор корневых фреймов, присоединенных к одному порту. Такие фреймы назвал блоками, планировал их размещать одноуровнево в окно операционной системы, в виде тайлов.

Потом стало понятно, что документное "окно" (а точнее, .frame и .doc) довольно просто обернуть таким тайлом-пустышкой. Если бы продолжил проект - получилось бы то, к чему все привыкли, и что я даже частично показывал - менюшка, статусбар, документ и два скроллера по бокам. Только все это в рамках отображений ББ.

То есть, мое блочное окно стояло на одном уровне иерархии с обычным "окном ББ", а реализация и того и другого была выполнена в хосте. На этот же уровень иерархии потом попало "летающее" окно, которое пригодилось для popup-меню.
Отсюда я предположил, что даже в концепции окон ББ у эталонного окна ББ мог бы присутствовать некий абстрактный предок. Вот и все. Ну или, можно и без предка, шаблон Twin поможет, это я потом сделал в SithWindows.

При должном усердии можно это все уместить и в обычный Window. Наверное.