![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| addnr |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2006 Где: Украина Репутация: нет Всего: нет |
Прочитал в книжке по проектированию, что для приложений с графической оболочкой программа делится на 3 слоя :
интерфейс - интерфейс пользователя -------------------------------------- контроллер - класс принемающий события (например нажатие кнопки на клавеатуре) и распределяющий их по нужным классам приложения -------------------------------------- классы приложения - классы на которые разбита данная система преимущества: интерфейс не связан с реализацией, возможность вносить изменения в классы с минимумом последствий для всей системы. и наконец вопрос: 1. Как это сделать практически? 2. В оконном приложении под витду для каждого события создается отдельная функция, может это и есть своего рода контроллер? 3. И если система реализована подобным образом (2.) интерфейс будет отделен от реализации? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
1. обычно в к книгам идут реальные примеры, как что реализуется на практике
2. нет, функции-обработчики событий и паттерн model-view-controller находятся на разных уровнях; в случае обработчиков, наличествует только слой view; слои model и controller отсутствуют либо смешаны со слоем обработчиков событий 3. да -------------------- ![]() |
|||
|
||||
| Aannttoonn |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 7.12.2005 Где: г. Елабуга Репутация: нет Всего: нет |
Привет! Сам вот на этой теме сижу. Только у меня не книжек, ничего нету.
Думал так сделать: Делаю форму MyForm : Form, IMyForm Реализую MyForm с кнопками. Потом в интерфейсе IMyForm думаю каким-то образом указать, чтобы в MyForm по нажатию кнопок в главный класс отсылалось ключевое слово какого-нибудь события и пара нужных ссылок на что-нибудь. Например создание какой-нибудь MDI-формы ("Create MDIForm",MyForm). Это пока только в мыслях, может пока буду тыкать додумаюсь до чего-нибудь более умного. Делаю главный класс MainClass. В нём функцию которая обрабатывает поступившее сообщение и передаёт управление на какой-нибудь необходимый метод. Эти методы могут создавать формы или например считывать инфу с какой-нибудь базы. Не знаю насколько эта концепция имеет право на существование Тем более, что я пока ни как не соображу как с помощью интерфейса заставить в MyForm создать событие, которое бы отсылало такие вот сообещния в главную форму. Не знаю помог ли... Вряд ли, конечно. Просто сочувствующий ;) |
|||
|
||||
| addnr |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 18.10.2006 Где: Украина Репутация: нет Всего: нет |
я тоже еще раз все обдумал и решил не изобретать чтото туманно - непонятное. для событий создаются специальные функции , вот в них и буду продолжать работать
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [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. |