Шаблон разработки для Обработки данных? (Альтернатива MVC)

Как Разработчик PHP/Web, я - огромный поклонник MVC (Образцовый Контроллер Представления). Я люблю создавать приложение на прочной основе, которая определенно разделяет бизнес-логику, логику представления и поток управления.

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

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

8
задан Brian Lacy 10 February 2010 в 01:03
поделиться

4 ответа

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

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

1
ответ дан 6 December 2019 в 00:55
поделиться

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

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

http://martinfowler.com/eaaCatalog /

1
ответ дан 6 December 2019 в 00:55
поделиться

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

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

{{ 1}}
1
ответ дан 6 December 2019 в 00:55
поделиться

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

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

0
ответ дан 6 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: