![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
guestl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.11.2010 Репутация: нет Всего: нет |
Всем привет.
Давно не программировал, а сейчас неспешно пишу для собственных нужд приложение на C#. Столкнулся со своей с плохой дельфийской привычкой разработки - накидать контролов на форму и делать бизнес-логику в событиях контролов. Который, впрочем, описан почти в куче русских книг по C#. К сожалению. Про MVP, MVC довольно много почитал на MSDN и в интернете, но стоит сесть за клавитуру, нападает ступор. самый банальный пример: телефонный справочник. в процессе проектирования получается список основных функций: считать номер, записать номер, изменить номер. Контроллер/презентатор должен считанные данные передать отображению и валидированный список передать в модель. M - Model - класс работающий с базой данных и реализующий эти функции. А что делать, если базы будут меняться? Сегодня с jet, а завтра с MySQL. Переписывать дикую часть кода? Неправильно. А если класс работает с базой данных и реализует функции приложения, то где делать функции, работающие с конкретной базой? В этом же классе? V - Это форма, но как ей взаимодействовать с C(P)? Вся роль контролов на форме сведется только к отображению данных, полученных от C(P)? C(P) - В чем будет роль контроллера(презентатора)? Проверять ввод, давать данные из M в V и вызывать функции записи/чтения в бд из M? Можно ли где-то увидеть хоть какое-нибудь небольшой приложение, работающее с БД и имеющее четкое деление логики, отображения и работы сбд? И как ко всему этому прикрутить делегаты, которые на MSDN активно пропагандируются для MVC|MVP? Кого сделать подписчиком событий, а кого отправителем? |
|||
|
||||
guestl |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.11.2010 Репутация: нет Всего: нет |
52 просмотра и ни одного ответа. тема слишком сложная, слишком простая и разжевана в faq, форум умер или что-то еще? )
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
делай форму, тыкай контолы.
В контролах вызывай методы Presentor-а (предварительно сделав валидацию на основе например атрибутов Model). Это твоё View. Presentor возвращает и оперирует только с Model-ными классами. В модели только данные. вот неплохая статья с примером который вам нужен http://www.rsdn.ru/article/patterns/ModelViewPresenter.xml -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [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. |