Шаблоны разработки: фабрика и репозиторий

Проверьте VSTO (Инструменты Visual Studio для Office). Довольно просто создать шаблон Word, ввести остров данных XML в него, затем отправить его клиенту. Когда пользователь открывает документ в Word, Word читает xml и преобразовывает его в WordML и представляет его. Вы захотите посмотреть на класс ServerDocument библиотеки VSTO. Никакое дополнительное лицензирование не требуется от моего опыта.

5
задан Kenneth Cochran 29 October 2009 в 20:34
поделиться

2 ответа

Вы на правильном пути. Как указал Чад, вы я захочу использовать шаблон разделения интерфейса GUI в качестве дополнительного слоя между вашим доменом и UI. MVC, MVP, модель представления и т. Д. - это установленные и хорошо документированные шаблоны для разделения пользовательского интерфейса. Отличный PoEAA Мартина Фаулера охватывает многие из них

Что касается вашего главного вопроса. Да. Фабрики и репозитории очень хорошо работают вместе. Фактически, Эванс предлагает в DDD , что в некоторых случаях вы можете делегировать ответственность за создание объекта из вашего репозитория классам фабрики, когда вы реконструируете объекты из хранилища данных.

client <=> repository -> factory
               |
               v
            database
  1. Клиент запрашивает объект. от s отлично PoEAA охватывает многие из них

    Что касается вашего основного вопроса. Да. Фабрики и репозитории очень хорошо работают вместе. Фактически, Эванс предлагает в DDD , что в некоторых случаях вы можете делегировать ответственность за создание объекта из вашего репозитория классам фабрики, когда вы реконструируете объекты из хранилища данных.

    client <=> repository -> factory
                   |
                   v
                database
    
    1. Клиент запрашивает объект. от s отлично PoEAA охватывает многие из них

      Что касается вашего основного вопроса. Да. Фабрики и репозитории очень хорошо работают вместе. Фактически, Эванс предлагает в DDD , что в некоторых случаях вы можете делегировать ответственность за создание объекта из вашего репозитория классам фабрики, когда вы реконструируете объекты из хранилища данных.

      client <=> repository -> factory
                     |
                     v
                  database
      
      1. Клиент запрашивает объект. от репозиторий.
      2. Репозиторий запрашивает базу данных.
      3. Репозиторий отправляет необработанные данные в factory.
      4. Factory возвращает объект.

      Чрезмерное упрощение, но вы уловили идею. Один момент, которого Эванс не затронул (но который охватывает Фаулер), - это внедрение зависимостей. Поскольку сложность вашего домена продолжает расти, вы можете рассмотреть возможность перехода на контейнер IoC для управления жизненными циклами объектов.

8
ответ дан 14 December 2019 в 01:10
поделиться

I would suggest sticking to MVC as a generic approach to separate your business logic from your view and your controller. This has been well documented and well studied approach, though its the best that we have currently.

Though, it seems like you're trying to use the pattern just for the reason of using the pattern. This is good for learning,but in most application systems I've seen the patterns you have described either don't exist and a simpler approach works or that its a nightmare to maintain.

Please see my previous answer to a question similar like this, that has a video that can help you in your design in the future.
Linky

1
ответ дан 14 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

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