Re: Параметры в классах
От: GarryIV  
Дата: 09.02.09 09:41
Оценка: 1 (1)
Здравствуйте, LevaR, Вы писали:

LR>Добрый день всем.


LR>Я, наверное, со своим вопросом покажусь му**ком, но все-таки.

LR>У меня есть проект (WPF), в котором определены базовые классы объектов. Классы эти используются только моим приложением и все хорошо работает.
LR>Но теперь появилась необходимость использовать их и в других приложениях (проектах). Решили, что лучше их вынести в отдельный проект и использовать от туда. Но проблема в том, что они классы используют данные приложения, например ConnectionString или параметры текущего пользователя. Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.
LR>Решение сделать базовый класс с статическими методами для получения этих параметров, как-то не очень нравится, так как для каждого класса придется переопределять этот метод.

Common часть должна определять интерфейсы для получения всего что ей надо но она не знает где взять. А конкретные приложения пусть реализуют их. Настройка этого через конфиг или можно в коде.

http://www.dotnetspark.com/kb/266-inversion-control-ioc-and-dependency-injection.aspx
WBR, Igor Evgrafov
Re: Параметры в классах
От: User239 Россия  
Дата: 08.02.09 19:46
Оценка: +1
Здравствуйте, LevaR, Вы писали:

LR>Добрый день всем.


LR>Я, наверное, со своим вопросом покажусь му**ком, но все-таки.

LR>У меня есть проект (WPF), в котором определены базовые классы объектов. Классы эти используются только моим приложением и все хорошо работает.
LR>Но теперь появилась необходимость использовать их и в других приложениях (проектах). Решили, что лучше их вынести в отдельный проект и использовать от туда. Но проблема в том, что они классы используют данные приложения, например ConnectionString или параметры текущего пользователя. Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.
LR>Решение сделать базовый класс с статическими методами для получения этих параметров, как-то не очень нравится, так как для каждого класса придется переопределять этот метод.

LR>Если вам вопрос кажется слишком лоховским, то не отвечайте, я постараюсь сам разобраться.


ну, что касается connection string, то она и так будет браться из нужного проекта. Конечно при условии, что она определена в app.config-е. То есть два разных WPF клиента могут пользоваться одной и той же библиотекой, но у каждого будет свой конфигурационный файл, следовательно и своя строка.

Про параметры пользователя не очень понятно, о чём именно идёт речь. Если это скажем виндовые пользователи, то иожно использовать Thread.CurrentPrincipal.

Ну а если нужно какое-то общее решение, я бы сделал передачу всех настроек через конструктор нуждающихся в них классов.
Re[2]: Параметры в классах
От: Аноним  
Дата: 09.02.09 09:30
Оценка: -1
Здравствуйте, User239, Вы писали:

U>Здравствуйте, LevaR, Вы писали:


LR>>Добрый день всем.


LR>>Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.

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

вохможно серилиховать объект приложения с нужными параметрами и передать в качестве аргумента в общеиспользоваемый класс, десериализируя уже в нем переданное каким угодно способом
Параметры в классах
От: LevaR  
Дата: 08.02.09 19:19
Оценка:
Добрый день всем.

Я, наверное, со своим вопросом покажусь му**ком, но все-таки.
У меня есть проект (WPF), в котором определены базовые классы объектов. Классы эти используются только моим приложением и все хорошо работает.
Но теперь появилась необходимость использовать их и в других приложениях (проектах). Решили, что лучше их вынести в отдельный проект и использовать от туда. Но проблема в том, что они классы используют данные приложения, например ConnectionString или параметры текущего пользователя. Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.
Решение сделать базовый класс с статическими методами для получения этих параметров, как-то не очень нравится, так как для каждого класса придется переопределять этот метод.

Если вам вопрос кажется слишком лоховским, то не отвечайте, я постараюсь сам разобраться.
Re[2]: Параметры в классах
От: LevaR  
Дата: 10.02.09 06:42
Оценка:
Здравствуйте, User239, Вы писали:

U>Здравствуйте, LevaR, Вы писали:


LR>>Добрый день всем.


LR>>Я, наверное, со своим вопросом покажусь му**ком, но все-таки.

LR>>У меня есть проект (WPF), в котором определены базовые классы объектов. Классы эти используются только моим приложением и все хорошо работает.
LR>>Но теперь появилась необходимость использовать их и в других приложениях (проектах). Решили, что лучше их вынести в отдельный проект и использовать от туда. Но проблема в том, что они классы используют данные приложения, например ConnectionString или параметры текущего пользователя. Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.
LR>>Решение сделать базовый класс с статическими методами для получения этих параметров, как-то не очень нравится, так как для каждого класса придется переопределять этот метод.

LR>>Если вам вопрос кажется слишком лоховским, то не отвечайте, я постараюсь сам разобраться.


U>ну, что касается connection string, то она и так будет браться из нужного проекта. Конечно при условии, что она определена в app.config-е. То есть два разных WPF клиента могут пользоваться одной и той же библиотекой, но у каждого будет свой конфигурационный файл, следовательно и своя строка.


U>Про параметры пользователя не очень понятно, о чём именно идёт речь. Если это скажем виндовые пользователи, то иожно использовать Thread.CurrentPrincipal.


U>Ну а если нужно какое-то общее решение, я бы сделал передачу всех настроек через конструктор нуждающихся в них классов.


ConnectString я привел только для примера и с ним то более менее все понятно. Проблема, например с текущим пользователем. Есть класс CurrentUser, который хранит параметры текущего пользователя, его ID, список подчиненных, Имя и проч. Он статически создается в приложении, а потом используется практически во всех классах.
Re[3]: Параметры в классах
От: LevaR  
Дата: 10.02.09 06:43
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, User239, Вы писали:


U>>Здравствуйте, LevaR, Вы писали:


LR>>>Добрый день всем.


LR>>>Так вот вопрос как бы так сделать, чтобы в эти классы была возможность передавать параметры из того приложения (проекта), который их использует.

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

А>вохможно серилиховать объект приложения с нужными параметрами и передать в качестве аргумента в общеиспользоваемый класс, десериализируя уже в нем переданное каким угодно способом


Ээээ... а как точно, я не совсем понимаю, как это можно сделать
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.