Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MVC на практике при разработке windows-приложений

48K
31 марта 2010 года
ratava
21 / / 20.10.2009
В свое время не нашел каких-либо практических советов по этому вопросу. Сейчас написал статью на эту тему.
http://blogs.mail.ru/mail/mactep.het/?Password=&Domain=&Login=#5EFF6550BFAB77C3
Поделитесь своим мнением о возможных альтернативах этому подходу:)
11
31 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
если честно, то статья ни о чем, точнее высказываются прописные истины
48K
31 марта 2010 года
ratava
21 / / 20.10.2009
Тогда не понятно почему, эти "прописные истины" нигде не прописаны. Просто захотелось восполнить этот недостаток, и предложить модель построения приложения.
Если честно, я бы очень удивился, если бы ветеран программирования подчерпнул бы для себя что-то новое из этой статьи. Она ориентирована прежде всего на начинающих кодеров.
11
31 марта 2010 года
oxotnik333
2.9K / / 03.08.2007
Цитата: ratava
Тогда не понятно почему, эти "прописные истины" нигде не прописаны. Просто захотелось восполнить этот недостаток, и предложить модель построения приложения.
Если честно, я бы очень удивился, если бы ветеран программирования подчерпнул бы для себя что-то новое из этой статьи. Она ориентирована прежде всего на начинающих кодеров.


Истины на то и прописные, что бы их не прописывать :D
А если статья рассчитана на совсем начинающих, то следовало бы поменьше применять заумных слов типа "интерфейс", "фабрика объектов", либо в начале дать им четкое и понятное определение (можно и с примерами). Ну и код реальный лучше выложить (чисто определение классов и методов, без указания реализаций)

48K
31 марта 2010 года
ratava
21 / / 20.10.2009
Цитата: oxotnik333
Истины на то и прописные, что бы их не прописывать :D
А если статья рассчитана на совсем начинающих, то следовало бы поменьше применять заумных слов типа "интерфейс", "фабрика объектов", либо в начале дать им четкое и понятное определение (можно и с примерами). Ну и код реальный лучше выложить (чисто определение классов и методов, без указания реализаций)



Ну начинающих, имеется ввиду уже знакомыми с подобными понятиями или по крайней мере желающими ознакомится.
Википедия объяснить про эти понятия может гораздо лучше меня, так что пожалуй вставлю в статью ссылки на данные понятия.
А по-поводу примера актуальное замечание надо сказать...

PS:
Кстати не смотря на очевидность схемы построения приложения, еще ни разу не доводилось встречать её реализацию на практике.
Чаще всего логику зашивают прямо в интерфейс. В результате приложение разбухает,- из-за усложнения бизнес правил. И в дальнейшем из-за невозможности проведения нормального тестирования начинает валиться у клиентов. Научен горьким опытом так сказать:)

87
31 марта 2010 года
Kogrom
2.7K / / 02.02.2008
Странно. Сказано "на практике", а обсуждают теорию. На практике надо так. Делаем 4 модуля: Модель, Контроллер, Консольный Вид, Вид с GUI.

Должны работать следующие сочетания модулей:

1. Модель + Контроллер + Консольный Вид.
2. Модель + Контроллер + Вид с GUI.

В обоих сочетаниях должны быть одни и те же Модель и Контроллер. В виде не должно быть никаких вычислений, работы с файлами, базами данными и т.д. Только работа с пользователем. И нигде не должно быть дублирования кода. Всё. Можно изобретать велосипед, который позволит что-то понять.

Кстати, а нужен ли там синглетон?
48K
31 марта 2010 года
ratava
21 / / 20.10.2009
Цитата: Kogrom
Кстати, а нужен ли там синглетон?



Однозначно нужен. Фабрика интерфейса - это сервис предоставляемый приложению. Логично предположить, что сервис должен быть один в контексте всего приложения.
Более того сочетание "Абстрактная фабрика" + "Синглтон" - считается обыденным.

48K
31 марта 2010 года
ratava
21 / / 20.10.2009
Цитата: Kogrom
Странно. Сказано "на практике", а обсуждают теорию.


Теория этот как раз то о чем нам только что поведал, а в статье предоставлена конкретный способ реализации данной схемы:)
Есть ведь наверно и куча других способов построения приложений с интерфейсом, удовлетворяющих требованиям MVC...это один из...
А практический пример: есть клиент к базе данных, по которому собственно и написана статья.
Я его кастрирую и обязательно выложу для наглядности...хотя и так все дотошно рассказано, что куда и сколько раз...

Кстати для n-звенных систем, как мне кажется данная схема будет еще более ценной, чем для 2ух.

5
31 марта 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: ratava

Кстати не смотря на очевидность схемы построения приложения, еще ни разу не доводилось встречать её реализацию на практике.
Чаще всего логику зашивают прямо в интерфейс.

В чистом виде редко кто применяет в настольных приложениях. Наибольшую отдачу подход дает в системах, работающих с обширными БД с толпами сущностей и зависимостей между ними. Игры тоже пытаются ему следовать, но там своих проблем хватает. Еще это особенно касается веб-приложений, они основные кандидаты на применение подхода MVC.

87
31 марта 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: ratava
Однозначно нужен. Фабрика интерфейса - это сервис предоставляемый приложению. Логично предположить, что сервис должен быть один в контексте всего приложения.


Почему это логично? Для маленького приложения может и логично. Для очень маленького и глобальные переменные могут быть логичными.

А если потребуется наследника сделать этому синглетону? Будет не очень хорошо.

Если мы добираемся к Интерфейсу (Модели, Контроллеру и т.д.) по цепочке объектов, то можно проследить, кто "прицепился" к нему. А с синглетоном можно получить неизвестно откуда присылаемые в интерфейс данные.

Например, кто-то из команды разработчиков решил прицепить к Интерфейсу через Синглетон ещё одну тестовую Модель, которая при стечении определенных редких обстоятельств будет посылать Интерфейсу сообщения. Потом забыл её убрать, так как эта Модель себя не проявляла. А при сдаче проекта она и всплывет. Или ещё позже.

Ну и юнит-тесты тут могут забуксовать... Но это как пример недостатков.

Цитата: ratava
Теория этот как раз то о чем нам только что поведал, а в статье предоставлена конкретный способ реализации данной схемы:)


Оно может и теория, но это задача для практики, для изобретения, для понимания. А то, что приведено по ссылке - это готовое решение, которое в мозг хуже ляжет.

9.7K
31 марта 2010 года
oltzowwa
105 / / 15.02.2007
По теме: [URL="http://209.85.135.132/search?q=cache:qbzl5h9X6o0J:chtivo.webhost.ru/articles/mvc.php+MVC+'nj&cd=1&hl=ru&ct=clnk&gl=ru&lr=lang_ru"]тут[/URL]. По-моему хорошо написано.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог