Шаблон дизайна для шаблона «Чтение, обработка, сохранение»? - PullRequest
5 голосов
/ 28 ноября 2011

Я ищу шаблон проектирования для решения следующих задач:

Считывание ввода

Обработка данных (с проверкой)

Сохранение результата

Примеры: чтение файла CSV, обработка данных, сохранение в формате XML. Чтение сообщения MQ, обработка данных, сохранение в базе данных.

Я думал о BusinessObject, который:

  • Имеет реализацию IInput для обработки чтения и загрузки.
  • Может быть проверено с помощью "правил"
  • Имеет реализацию IOutput для обработки самого сохранения.

например (псевдокод!)

public abstract class BusinessObject
    {
        public IInput Input { get; set; }
        public IOutput Output { get; set; }

        public BusinessObject(IInput input, IOutput output)
        { }
    }

, а затем есть метод загрузки, обработки и сохранения.

Однако мне это не кажется правильным.Я думаю BO должен быть способен загружать и сохранять себя?

Если кто-нибудь знает, какой это может быть шаблон, я могу его прочитать или дать пример / объяснение, которое я бы сделалбудь очень благодарен.

1 Ответ

4 голосов
/ 28 ноября 2011

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

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...