Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инкапсулировать или нет 
:(
    Опции темы
Хоббит
Дата 22.6.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Есть программа. В ней есть данные. Храняться они в класах программы. Вопрос. Где разместить методы по загрузке данных из БД в эти классы.
Сделать в каждом классе методы Load Save которые будут конектиться к бд считывать и заполнять свой класс или сделать отдельный класс типа DataAdapter который будет работать с данными программы? 
PM MAIL   Вверх
arilou
Дата 22.6.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



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


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Сарт
Дата 22.6.2006, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 29.4.2006

Репутация: 1
Всего: 0



Ну впринципе инкапсуляция быть должна всегда. Типа опорный столб оьбъектно-ориентирвоанного программирования...Думаю стоит инкапсулирвоать... 
--------------------
[color=purple][/color]Died.Of course, System.StackOverflow 
PM MAIL   Вверх
Exception
Дата 22.6.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



DLinq сам по себе инкапсулирует всё это smile

молчу, молчу smile 

Добавлено @ 16:04 
Кстати, инкапсуляция тут ни при чём. Разве что приходится заполнять приватные переменные из БД. 
PM   Вверх
Хоббит
Дата 22.6.2006, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



тут вопрос вот в чем... имеется класс с данными.. перемеными (разными элементами) ит.д.
С точки зрения архитектуры, добавляя в него метод загрузки мы 1.сопрягаем его с классом работы с БД 2. Обязываем знать имя базы и таблицы где он лежит... то есть знать более низкую структуру чем он есть.

Программа большая...(очень) и добавлять даже маленьких сложностей в аритектуру, ну очень не надо

По другому.. все классы данных являются более высокоуровневыми.... а какой то один класс по работе с бд просто все загружает в них 
PM MAIL   Вверх
arilou
Дата 22.6.2006, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Хоббит @  22.6.2006,  16:47 Найти цитируемый пост)
По другому.. все классы данных являются более высокоуровневыми.... а какой то один класс по работе с бд просто все загружает в них  

Если ты оставишь один CRUD-класс для работы с кучей разных сущностей, ты и так намешаешь в нем кучу всего. Почитай у Фаулера про data mapper'ы  ( http://www.martinfowler.com/eaaCatalog/dataMapper.html - тут есть описание, а подробности у него в книге).  

Это сообщение отредактировал(а) arilou - 22.6.2006, 16:56


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.2877 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.