![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Unforgiven |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 27.1.2005 Репутация: нет Всего: нет |
Добрый вечер,
На данный момент не силен в ООП, и возникает вопрос в логике создания базовых классов в .NET конкретной программы. Есть классы окон, отображающие информацию в DataGrid. Структура похожа, классы плодятся. Логично что надо выделить в базовый класс. Они взаимодействуют с классами модификации БД. Там все просто. 3 метода: Insert(DbRecord record) Update(DbRecord record) Delete(DbRecord record) DbRecord в данном случае - класс для хранятся названия столбцов и значений. Логично, что окна, наследуемые от базового класса и классы модификации БД, будут принимать на вход DbRecord (а точнее классы - наследники DbRecord). Как сделать логично DbRecord? В этом и суть вопроса. Пока есть только мысль в двух форматах:
или же что-то наподобие этого
Что не нравится? Чтобы организовывать взаимодействие между классами, особенно если название колонки поменялось или что-то еще, тяжело становится уследить за ошибками Хотелось бы услышать ваше мнение. Спасибо. |
||||
|
|||||
AntonX |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 1.2.2006 Где: РФ Репутация: нет Всего: -1 |
посмотри в сторону паттернов проектирования
вот хорошая ссылка http://citforum.ru/SE/project/pattern/ для старта. Тебе нужен паттерн ActiveRecord/Repository + DataManager + MVC/MVVM/e.t.c По вопросу делегирования полномочий посмотри в сторону использования композиции вместо наследования. Композиция в твоем случае даст лучший результат при менее запутанной архитектуре. Перед началом еще почитай про "уровневую(слоистую) архитектуру" ПО |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |