WPF: Как сообщить моему DataLayer, какой DataContext использовать? - PullRequest
0 голосов
/ 13 августа 2010

У меня есть решение, в котором у меня есть 3 проекта WPF (Project UI-A, Project UI-B и Project с именем CommonLibrary (Уровень данных). У меня есть форма регистрации пользователя в Project UI-A, где я буду захватывать Информация о профиле пользователя. И в проекте CommonLibrary у меня есть класс с именем UserCommon, который будет иметь метод для сохранения данных в таблицу БД. Я использую LINQ 2 SQL для общения с БД в проекте CommonLibrary. в пользовательском интерфейсе проекта у меня будет список dropdonw, в котором есть такие параметры, как Development и Production, с помощью которых я могу выбрать, где будет выполняться эта операция.

Теперь, как я могу сказать методу в CommonLibrary, какой использовать текст данных (Разработка или Производство)? Передача переменной (чтобы упомянуть ее разработку или производство) во всех методах в качестве параметра есть единственный способ? Какие есть другие альтернативы?

Ответы [ 2 ]

1 голос
/ 13 августа 2010

Я бы предложил поместить этот параметр в ваш файл app.config и получить к нему доступ через ConfigurationManager.То, что вам не нужно, это набор переменных в коде.

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

Вы также можете создать фабричный метод, который генерирует объекты DataContext, предварительно сконфигурированные для правильной конфигурации.Это изолирует решение для одного метода.

0 голосов
/ 13 августа 2010

Звучит как проблема с шаблоном стратегии: http://www.dofactory.com/Patterns/PatternStrategy.aspx#_self2

...