Термины
Часть — устоявшиеся термины, часть пришлось выдумать самому. Перечислю термины, специфичные для примера, термины GWT/MVP/mvp4g пояснять не буду. Меня уже укоряли за использование русского прочтения английских терминов, но их здесь настолько много, что, уж извините, мне банально лень переключать раскладку.
- Лэйаут (Layout) — заранее определённое расположение блоков на странице, без привязки к содержимому блоков, но с привязкой к их топографическому положению.
- Портал (Portal) — практически аналог “страницы приложения”, имеет связанный лэйаут и расположенные по лэйауту портлеты внутри.
- Портлет (Portlet) — любой виджет (в том числе виджет с виджетами внутри).
- Плэйсхолдер (Place) — идентификатор места внутри лэйаута, в которое может быть вставлен любой визуальный объект (виджет, группа виджетов, портлет). В примере это буквы
A
, B
, C
, D
, S
. Может быть любым, например: NAV
, ASIDE
, MAIN
, TOOLBAR
и т.п.
- Розетка (Outlet) — физическое место внутри лэйаута, куда можно вставить любой объект, имплементирующий интерфейс
Pluggable
(то есть, “вилку”); однозначно определяется по идентификатору Place
.
- Вилка (Plug, Pluggable) — любой визуальный объект (виджет, группа виджетов, портлет, панель состояния виджета), который можно вставить в “розетку”; имеет вольный строковый идентификатор.
- Состояние (State) — специальный режим страницы или отдельного виджета, в котором он или она сообщают статус загрузки данных (для того, чтобы можно было менять структуру в пределах страницы или легко подменять блоки в пределах портлета); у страниц и виджетов с поддержкой состояний, состоянием по умолчанию будет “данные загружаются”.
- Группа (Group) — группа страниц, объединённых одной дочерней шиной событий; поскольку обычно одной шиной объединяются страницы, работающие с одним типом сущностей в проекте, то “группа” в этом случае соответствует “типу сущности”; отсутствие группы у страницы означает, что она привязана к главной шине событий
- Построитель URL (UrlBuilder) — класс, который позволяет собирать на лету URL страниц в пределах проекта, доступен напрямую в презентерах и хистори-конвертерах.
- Построитель Лэйаутов (LayoutBuilder) — класс, который занимается, буквально, вставкой “вилок” в “розетки” или, если перефразировать, “портлетов” в “порталы”.
- Мастер Состояний (StateDirector) — класс, который помогает в презентере портлета или портала моментально сменить состояние командами вроде
state.noData()
, state.gotData()
, state.loading()
, state.noMatches()
и подобными.
[Содержание]