Шаблон проектирования для синхронизации двух приложений - PullRequest
1 голос
/ 03 сентября 2010

Пожалуйста, не судите меня за то, что я делаю, потому что я понимаю, что это странная вещь, но мой босс хочет, чтобы это был внутренний инструмент.

Мне нужно было синхронизировать задачи с Microsoft ProjectФайл с календарем Outlook с помощью дополнения Outlook.Надстройка берет задачи, которые не имеют никаких подзадач, и помещает их в календарь, охватывающий время задачи.Мне удалось получить приложение:

  • Загрузить файл проекта
  • Добавить, обновить и удалить встречи из Outlook при синхронизации.
  • Работать при загрузке, когдапроект не синхронизирован с календарем.
  • Монитор Файл проекта и спрашивает пользователя, нужно ли синхронизировать.
  • Обновление задач в файле проекта на лету при обновлении встреч в Outlook.
  • Разрешить пользователю выбирать иерархию задач / назначений, например Задача B, является подзадачей Задачи A.
  • Некоторые другие скучные вещи.

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

Есть ли у кого-нибудь какие-либо идеи или ссылки на общие шаблоны дизайна, чтобы помочь мне получить голову?начать, например, типичный современный шаблон синхронизации, поскольку времени не хватает.

Большое спасибо

Пол

1 Ответ

2 голосов
/ 03 сентября 2010

Я не знаю ни одного архитектурного паттерна, который бы подходил для синхронизации двух приложений. Если бы мы увидели исходный код, мы могли бы предложить шаблоны проектирования там, где они подходят, но я сомневаюсь, что это возможно :). Вот отличный сайт для шаблонов проектирования http://www.dofactory.com/Patterns/Patterns.aspx и еще один хороший для архитектурных шаблонов http://martinfowler.com/eaaCatalog/. Вторая ссылка взята из книги Мартина Фаулера «Шаблоны корпоративных приложений».

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

...