![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
Есть программа. В ней есть данные. Храняться они в класах программы. Вопрос. Где разместить методы по загрузке данных из БД в эти классы.
Сделать в каждом классе методы Load Save которые будут конектиться к бд считывать и заполнять свой класс или сделать отдельный класс типа DataAdapter который будет работать с данными программы? |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Хоббит, оба варианта жизнеспособны. Лично мне больше нравится вариант, када каждому классу-сущности соответствует свой класс, работающий с БД.
|
|||
|
||||
| Сарт |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 29.4.2006 Репутация: 1 Всего: 0 |
Ну впринципе инкапсуляция быть должна всегда. Типа опорный столб оьбъектно-ориентирвоанного программирования...Думаю стоит инкапсулирвоать...
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
DLinq сам по себе инкапсулирует всё это
молчу, молчу Добавлено @ 16:04 Кстати, инкапсуляция тут ни при чём. Разве что приходится заполнять приватные переменные из БД. |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: нет Всего: 1 |
тут вопрос вот в чем... имеется класс с данными.. перемеными (разными элементами) ит.д.
С точки зрения архитектуры, добавляя в него метод загрузки мы 1.сопрягаем его с классом работы с БД 2. Обязываем знать имя базы и таблицы где он лежит... то есть знать более низкую структуру чем он есть. Программа большая...(очень) и добавлять даже маленьких сложностей в аритектуру, ну очень не надо По другому.. все классы данных являются более высокоуровневыми.... а какой то один класс по работе с бд просто все загружает в них |
|||
|
||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Если ты оставишь один CRUD-класс для работы с кучей разных сущностей, ты и так намешаешь в нем кучу всего. Почитай у Фаулера про data mapper'ы ( http://www.martinfowler.com/eaaCatalog/dataMapper.html - тут есть описание, а подробности у него в книге). Это сообщение отредактировал(а) arilou - 22.6.2006, 16:56 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |