Вопрос

Что было бы лучшим способом реализации NLOG в моем приложении PRISM / CAL WPF. Это может быть любительский вопрос, я немного новой для всей рамки призмы :)

Я думал о том, чтобы положить ссылку на NLOG DLL в модуле инфраструктуры и сделайте укладку Wrapper Singleton, например MyLogger. Мое мышление должно было быть возможность иметь ссылку на 1 регистрацию регистратора где-то в центральном месте, к которому все имеет ссылку на, и единственное, что я знаю о призме, будет вашим инфраструктурным модулем.

Очевидным другим способом является добавление ссылки на NLOG каждому модулю, но я думаю, что это побеждает цель развязки и все это.

Любые идеи были бы наиболее полезными

С уважением

Это было полезно?

Решение

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

Хотя я не уверен, что точные подписи метода, доступные для вас в NLog, вы можете рассмотреть возможность использования призма Iloggerfacade. Интерфейс, который обычно определяется в вашем бутстраппере (см. Stocktraderri. Применение на примере того, как это настроено). Как правило, это действует как проход до Интерфейс составного ведения журнала Microsoft, но нет никаких причин, по которым вы не можете использовать это, чтобы зацепить свой собственный регистратор.

Несколько причин рассмотреть этот подход:

  1. Он использует уже существующий интерфейс iLoggerFacade в рамках PRISM, которые другие разработчики будут знакомы с
  2. Если вы позже решите перейти к другую структуру лесозаготовки, вам просто нужно заменить объект за реализацией IloggerFacade

Другой подход будет делать, как вы предложите: создайте интерфейс, который определяет службу для NLOG (или выдержать существующий интерфейс NLOG) в вашей инфраструктуре DLL и зарегистрировать реализацию этой услуги в вашем Bootstrapper. Вы можете затем вы ваш контейнер для введения зависимости, чтобы получить ссылку на службу регистратора в ваших модулях. Обратите внимание, однако, что это действительно просто воспроизводит то, что интерфейс IloggerFacade уже дает вам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top