Шаблон проектирования для обработки данных? (Альтернатива MVC) - PullRequest
8 голосов
/ 10 февраля 2010

Как PHP / веб-разработчик, я большой поклонник MVC (Model-View-Controller). Мне нравится создавать приложение на прочной основе, которая определенно разделяет бизнес-логику, логику представления и поток управления.

Однако я также много работаю с серверными приложениями, которые просто обрабатывают данные и регистрируют процесс и любые соответствующие результаты (такие как сценарии импорта, сценарии миграции данных, веб-службы, серверы сокетов TCP, так далее). В этих случаях нет необходимости в большой модной среде MVC.

Я понимаю, что MVC все еще может быть применен здесь, но это кажется излишним. Помимо необработанного процедурного подхода или случайного смешивания объектов классов, существуют ли какие-либо конкретные шаблоны архитектурного проектирования, особенно подходящие для приложений обработки данных, однократного выполнения и серверных приложений типа демона?

Ответы [ 4 ]

1 голос
/ 05 марта 2010

Если я правильно понимаю, приложения, о которых вы говорите, не имеют пользовательского интерфейса, кроме командной строки оболочки. Если это так, вы все равно можете использовать MVC на уровне архитектуры программного обеспечения - ваш View будет просто тривиальным. Ваш контроллер также будет тривиальным, так как между моделью и представлением очень мало действий для распространения.

Конечно, с тривиальным видом и контроллером это может быть вообще не шаблон. Я не вижу проблем с этим (на уровне, о котором вы говорите). Ключевым моментом является использование подхода, основанного на интерфейсе (как и в случае с MVC), что в итоге приведет к лучшему дизайну; тот, который может быть легко адаптирован к другому пользовательскому интерфейсу или средствам вызова, если это потребуется в будущем.

1 голос
/ 05 марта 2010

Так как это связано с обработкой данных, я предполагаю, что у вас есть какое-то хранилище данных, вы можете посмотреть на архитектурные шаблоны Repository и DTO (Data Transfer Object).

В более общем смысле вам подойдут некоторые шаблоны проектирования в каталоге GoF, такие как Singleton для однократного выполнения, Facade для абстрагирования логики обработки, стратегия для другой логики обработки, State Machine для демона

1 голос
/ 11 февраля 2010

Я думаю, вам нужно начать с вопроса, какую проблему вы хотите решить (с этими шаблонами, которые вы ищете)

Как только вы это узнаете, вы можете найти здесь что-нибудь полезное:

http://martinfowler.com/eaaCatalog/

0 голосов
/ 05 марта 2010

Предлагаю вам сначала прочитать эту статью Введение в разработку шаблонов с использованием PHP

Это поможет вам понять и выбрать шаблон с этой страницы. Дизайн шаблона

...