Как снабдить логику домена более отчетливым интерфейсом API? — КиберПедия 

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Как снабдить логику домена более отчетливым интерфейсом API?

2017-10-09 178
Как снабдить логику домена более отчетливым интерфейсом API? 0.00 из 5.00 0 оценок
Заказать работу

Слой служб (Service Layer).

 

Как структурировать процесс представления данных в Web?

Модель-представление-контроллер (Model View Controller).

Как организовать обработку HTTP-запросов?

Поток функций приложения довольно прост, а каждый (или почти каждый) адрес URL соответ­ствует отдельному документу Web-сервера — контроллер страниц (Page Controller).

Поток функций приложения довольно сложен — контроллер запросов (Front Controller). Мне нужна поддержка пользователей из других стран или гибкие политики безопасности — кон­троллер запросов (Front Controller).

 

Как управлять форматированием Web-страниц?

Я предпочитаю отредактировать HTML-код страницы и вставить в него маркеры для отображе­ния динамических данных — представление по шаблону (Template View).

Я рассматриваю Web-страницу как результат преобразования данных домена (возможно, нахо­дившихся в формате XML) — представление с преобразованием (Transform View). Я хочу подвергнуть глобальным изменениям внешний вид и поведение своего сайта — двухэтапное представление (Two Step View).

Я хочу, чтобы один и тот же логический экран имел несколько различных представлений — двухэтапное представление (Two Step View).

 

Как управлять сложным потоком функций приложения?

Контролпер приложения (Application Controller).

 

Как взаимодействовать с базой данных?

Я использую сценарий транзакции (Transaction Script) — шлюз записи данных (Row Data Gateway).

Я использую сценарий транзакции (Transaction Script), и моя платформа обеспечивает хо­рошую поддержку множества записей ((Record Set) — шлюз таблицы данных (Table Data Gateway).

Структура модели предметной области (Domain Model) в точности соответствует таблицам базы данных — активная запись (Active Record).

Модель предметной области (Domain Model) довольно сложна — преобразователь данных (Data Mapper).

Я использую модуль таблицы (Table Module) — шлюз таблицы данных (Table Data Gateway).

 

8. Как гарантировать, что одни и те же данные не будут загружены в несколько разных объектов при­
ложения?

Коллекция объектов (Identity Map).

 

Как сохранить связь объектов домена с соответствующими записями базы данных?

Поле идентификации (Identity Field).

Как сократить количество кода, описывающего отображение объектов домена на базу данных?

Отображение метаданных (Metadata Mapping).

 

11. Как сформулировать запрос к базе данных в терминах модели предметной области (Domain
Model)?

Объект запроса (Query Object).

 

Как сохранить связи между объектами в базе данных?

У меня есть ссылка на один объект — отображение внешних ключей (Foreign Key Mapping).

У меня есть ссылка на коллекцию объектов — отображение внешних ключей (Foreign Key Mapping).

У меня есть отношение типа "многие ко многим" — отображение с помощью таблицы ассоциа­ций (Association Table Mapping).

У меня есть коллекция объектов, которые используются только в контексте другого объекта — отображение зависимых объектов (Dependent Mapping).

У меня есть поле, в котором хранится объект-значение (Value Object) — внедренное значение (Embedded Value).

У меня есть сложная сеть объектов, которые не используются другими частями базы данных — сериализованный крупный объект (Serialized LOВ).

 

Как избежать загрузки в оперативную память всего содержимого базы данных?

Загрузка по требованию (Lazy Load).

 

Как сохранить структуры наследования в реляционной базе данных?

Наследование с одной таблицей (Single Table Inheritance).

Наличие общей таблицы для всей иерархии наследования приведет к созданию высокой конку­ренции за право доступа к таблице — наследование с таблицами для каждого класса (Class Table Inheritance).

Создание общей таблицы для всей иерархии наследования приводит к бессмысленной трате сво­бодного места — наследование с таблицами для каждого класса (Class Table Inheritance). Выполнение запросов требует слишком большого числа соединений, но применять общую таб­лицу все-таки не хочется — наследование с таблицами для каждого конкретного класса (Concrete Table Inheritance).

 

15. Как отслеживать считывание и изменение объектов?
Единица работы (Unit of Work).


Поделиться с друзьями:

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.