Проблема шаблона Domain Model

Опубликовал read-php в 17.02.2011 Категория: Шаблоны корпоративных приложений PHP

Если вы использовали шаблон Transaction Script, то, наверное, поняли, что дублирование становится проблемой, когда в различных сценариях приходится выполнять одни и те же задачи. Эту проблему можно решить до некоторой степени (вынести повторные операции в отдельный модуль), но со временем все равно все сводится к копированию и вставке кода.
(далее…)

Комментариев нет

Шаблон Domain Model

Опубликовал read-php в  Категория: Шаблоны корпоративных приложений PHP

Шаблон Domain Model — это чисто логический движок, который пытались создать, воспитать и защитить многие другие шаблоны, описанные раньше. Это отделенное представление сил, работающих в вашем проекте. Это что-то вроде плоскости форм, где естественным образом разворачиваются ваши бизнес-задачи, свободные от таких неприятных материальных проблем, как базы данных и вебстраницы.
(далее…)

Комментариев нет

Результаты работы с шаблоном Transaction Scrip

Опубликовал read-php в  Категория: Шаблоны корпоративных приложений PHP

Шаблон Transaction Script— это эффективный способ быстрого получения результатов. Это также один из тех шаблонов, которые многие программисты используют годами, не подозревая, что у него есть название. С помощью нескольких хороших вспомогательных методов, таких как те, которые мы добавили к базовому классу, вы можете сосредоточиться на логике приложения, не отвлекаясь на детали работы с базой данных.

Я видел применение шаблона Transaction Script в менее благоприятном контексте. Я писал намного более сложное и наполненное объектами приложение, по сравнению с теми, для которых обычно применяется данный шаблон. Но когда приблизились сроки сдачи проекта, я обнаружил, что поместил очень много логики туда, где должен был быть тонкий фасад шаблона Domain Model. И хотя результат был менее изящным, чем я хотел, я должен был признать, что приложение не пострадало от этого неявного редизайна. (далее…)

Комментариев нет

Реализация шаблона Transaction Scrip

Опубликовал read-php в  Категория: Шаблоны корпоративных приложений PHP

Давайте вернемся к нашему примеру обработки списка событий. В данном случае в системе поддерживается три таблицы реляционных баз данных: venue, space и event. У venue (заведения) может быть несколько space (мест) (например, у театра может быть несколько сцен, у танцевального клуба— несколько помещений и т.д.) Вот как выглядит схема базы данных.

CREATE TABLE ‘venue’ (

‘id’ int(ll) NOT NULL auto_increment,

‘name’ text, PRIMARY KEY (1id’)

)

CREATE TABLE ‘space’ (

‘id’ int(ll) NOT NULL auto_increment,

‘venue’ int(ll) default NULL,

‘name’ text,

PRIMARY KEY (‘id’)

) (далее…)

Комментариев нет

Проблема шаблона Transaction Scrip

Опубликовал read-php в  Категория: Шаблоны корпоративных приложений PHP

Каждый запрос должен как-то обрабатываться. Как мы уже видели, во многих системах предусмотрен уровень, который анализирует и фильтрует входящие данные. Но в идеале этот уровень должен затем вызывать классы, которые предназначены для выполнения запроса. Как мы увидим, на основе этих классов можно построить логику приложения, вероятно, с помощью интерфейса Facade. Но этот подход требует серьезного и внимательного проектирования. Для некоторых проектов (обычно небольших по объему и срочных по характеру) такие издержки разработки могут быть неприемлемыми. В этом случае вам, возможно, понадобится встроить логику приложения в набор процедурных операций. Каждая операция будет предназначена для обработки определенного запроса. (далее…)

Комментариев нет