Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 23:01   #1
clearbluesky
 
Регистрация: 03.12.2012
Сообщений: 9
По умолчанию Структура приложения

Всем привет !

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

Показалось разумным взять за основу построения что-то вроде "модель-вид-контроллер", причем читал здесь: http://www.stanford.edu/class/cs193p...oads-2011-fall (первая лекция). Тут, как понял, прямой доступ есть у "контроллера" к "виду" и к "модели", других прямых доступов нет. Пользователь что-то делает, "вид" испускает сигнал, "контроллер" его перехватывает и что-то делает, например, вызывает методы "модели" и изменяет "вид" на основе полученных результатов. Кстати "вид" - виджет со своей обработкой событий от пользователя, "контроллер" - экземпляр класса просто какого-нибудь с методами, организующими реакцию на события от "вида".

Если в гугле ввести "model-view-controller", то в статьях можно увидеть несколько другую трактовку.

Вопрос(ы):

1) Что такое "модель" ? Класс с кучей методов ? Куча классов ? Может, библиотека какая-нибудь ?

2) Может, она вообще не нужна ?

3) Может, вопрос вообще смысла не имеет, и делать так, как удобно ?

Подскажите, я пожалуйста прошу. Покритикуйте, что фигню спрашиваю. Хоть что-нибудь.

С уважением.
clearbluesky вне форума Ответить с цитированием
Старый 04.12.2012, 17:41   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от clearbluesky Посмотреть сообщение
Показалось разумным взять за основу построения что-то вроде "модель-вид-контроллер", причем читал здесь: http://www.stanford.edu/class/cs193p...oads-2011-fall (первая лекция). Тут, как понял, прямой доступ есть у "контроллера" к "виду" и к "модели", других прямых доступов нет. Пользователь что-то делает, "вид" испускает сигнал, "контроллер" его перехватывает и что-то делает, например, вызывает методы "модели" и изменяет "вид" на основе полученных результатов.
Что-то типа того. Понимание в целом правильное. У этого паттерна есть несколько вариаций, т.е. есть из чего выбирать и здесь. MVC, MVP, MVVM,... Всё для людей, паттернов куча, которые вроде хоть как-то унифицируют процесс разработки, а серебряной пули всё равно нет.
Цитата:
Сообщение от clearbluesky Посмотреть сообщение
Если в гугле ввести "model-view-controller", то в статьях можно увидеть несколько другую трактовку.
Сейчас статьи пишут все, кому не лень. Качество стремится к нулю, равно как и польза от этих статей. Они как правило, приводят удобные примеры, чтобы показать как всё круто, а неудобные, но часто возникающие вещи незаметно так обходят сторонкой.
Цитата:
Сообщение от clearbluesky Посмотреть сообщение
1) Что такое "модель" ? Класс с кучей методов ? Куча классов ? Может, библиотека какая-нибудь ?
Это может быть всем этим сразу и по одиночке. Грубо говоря, модель - это то, ради чего всё и создавалось. Если брать 3D-редактор, то там моделью будет реактируемая 3D-сцена, а что она из себя представлять будет - это уже вопрос личных предпочтений и зависит от конкретной задачи.
Цитата:
Сообщение от clearbluesky Посмотреть сообщение
2) Может, она вообще не нужна ?
Кто она? Если модель, то без неё не получится MVC.
Цитата:
Сообщение от clearbluesky Посмотреть сообщение
3) Может, вопрос вообще смысла не имеет, и делать так, как удобно ?
Вопрос преследуемых целей. Я паттерны не люблю, поэтому против их использования до момента просветления и постижения дзена. Лепить корявый MVC в рабочий проект - это зло. Экспериментировать с MVC на чем-то тестовом и необязательном - это хорошо и полезно.
Цитата:
Сообщение от clearbluesky Посмотреть сообщение
Подскажите, я пожалуйста прошу. Покритикуйте, что фигню спрашиваю.
Последние года 3 подобные вопросы возникают у людей всё чаще и чаще. Всем уже объяснили, что паттерны - это круто и без них никак, а вот обучающих материалов нормальных как не было, так и нет, в итоге вместо красивого кода, получаются у людей макароны, они тратят в разы больше времени на разработку, а код становится совсем не читаемым, зато он теперь якобы по фен-шую и современный.
pu4koff вне форума Ответить с цитированием
Старый 04.12.2012, 22:51   #3
clearbluesky
 
Регистрация: 03.12.2012
Сообщений: 9
По умолчанию

Благодарю за ответ !

Не знаю, больше и спрашивать даже нечего. Все логично.

С уважением.
clearbluesky вне форума Ответить с цитированием
Старый 09.12.2012, 08:41   #4
Warn
Форумчанин
 
Аватар для Warn
 
Регистрация: 03.11.2011
Сообщений: 230
По умолчанию

Цитата:
Показалось разумным взять за основу построения что-то вроде "модель-вид-контроллер"
Цитата:
Все логично.
pro хлебушек
Warn вне форума Ответить с цитированием
Старый 09.12.2012, 22:26   #5
clearbluesky
 
Регистрация: 03.12.2012
Сообщений: 9
По умолчанию

Это в подтверждение первого ответа ? (статья знакомая)
clearbluesky вне форума Ответить с цитированием
Старый 10.12.2012, 09:35   #6
Warn
Форумчанин
 
Аватар для Warn
 
Регистрация: 03.11.2011
Сообщений: 230
По умолчанию

Цитата:
Это в подтверждение первого ответа ?
В смысле про макароны о которых сказал pu4koff ? Ну как бы от части да. Вообще это предостережение не выбирать модный путь - оверинжиниринга, а обратиться на светлую сторону и следовать принципам KISS.
Warn вне форума Ответить с цитированием
Старый 10.12.2012, 14:37   #7
clearbluesky
 
Регистрация: 03.12.2012
Сообщений: 9
По умолчанию

Тоже спасибо за замечание, но тут какая ситуация...

Предположим, что этим приложением, возможно, кто-то заинтересуется, ну и, захочет его довести до коммерческого вида. Тогда (опять же насколько я понимаю) приходишь ты с ним в контору, говоришь, что мол у меня тут крутая идея и вот посмотри. Тебе отвечают, что молодец, на вот тебе команду человеков (или сам приведи) и доделайте, чтобы продать. Самому ведь проблематично все допилить (?)

В этом случае, думаю, все-таки нужно более-менее хорошо спроектировать
все.

И вот да, мне действительно стало ясно, что MVC здесь неуместно чтоле немного.
clearbluesky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После запуска приложения из службы созданной на C# не отображается иконка приложения dmail1976 Общие вопросы .NET 1 22.09.2011 13:38
Структура приложения на JAVA Jakethefish Общие вопросы по Java, Java SE, Kotlin 0 20.09.2010 13:30