Document Object Model
- 1 year ago
- 0
- 0
Naked objects (дословно с английского можно перевести как «оголённые объекты») — архитектурный шаблон , используемый в разработке программного обеспечения в инженерии ПО .
Шаблон Naked objects определяется с помощью трех принципов:
1. Вся бизнес-логика должна быть инкапсулирована в бизнес-объект domain objects . Данный принцип не является уникальной особенностью naked objects: это только строгое следование обязательствам, определенным инкапсуляцией .
2. Интерфейс пользователя должен быть прямым представлением объектов предметной области ( ), со всеми действиями пользователя, явно содержащими создание или получение объектов предметной области и/или вызовы методов этих объектов. Данный принцип также не является уникальной особенностью naked objects: это только частная интерпретация объектно-ориентированного пользовательского интерфейса (OOUI).
Подлинная идея шаблона Naked objects возникает из комбинации обеих вышеперечисленных идей в форме третьего принципа:
3. Пользовательский интерфейс может быть сформирован полностью автоматически из определения объектов предметной области (domain objects). Данный припцип может быть реализован путём использования нескольких технологий таких, как кодогенерация и рефлексия.
Паттерн Naked objects был впервые формально определен в диссертации PhD , которая включала тщательное исследование различных предшественников шаблона, включая, например, пользовательский интерфейс.
Naked Objects обыкновенно противопоставляют шаблону model-view-controller . Тем не менее, опубликованная версия диссертации Поусона (Pawson)(см. Ссылки) содержит предисловие , изобретателя шаблона model-view-controller , говорящее о том, что naked objects ближе к оригинальной идее Модель-Представление-Контроллер, чем последующие интерпретации и реализации.
Шаблон Naked objects начал подвергаться определенной доле критики с момента первой публичной демонстрации идеи на конференции от 16 мая 2008 на Wayback Machine , проводившейся под эгидой от 11 января 2009 на Wayback Machine . Критика данного подхода обычно фокусируется на одной из трех основных областей:
Хотя ни один из приведённых выше аргументов не является специфичным именно для данного шаблона, тот факт, что naked objects комбинирует все три идеи вместе, делает его особенно уязвимым для этой критики.
|
В другом языковом разделе
есть более полная статья
(англ.)
.
|