Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.05.2014, 11:50
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 11  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Цитата:
Пиши как пишется. Когда проблемы возникнут сам поймёшь.
100% согласен. Более того, когда наберешся опыта придешь к своему MVC. Гораздо более важен правильный ООП, зачастую это даже по структуре проекта видно, когда службы (классы общающиеся с сервером) лежат в отдельных пакетах, ui - компоненты в отдельном, все абстрагировано, каждый класс решает свою задачу, и неважно как это называется MVC или MVCS и т.п. Новичок же когда берется реализовывать чужие, навороченные способы организации кода, зачастую тонет в проекте. Лучше уж тогда пробуйте готовые архитектурные фреймворки типа pureMVC или Robotlegs, и то браться за них стоит минимум через полгода - год интенсивного программирования.

Добавлено через 39 секунд
А так MVC ради MVC это не всегда оправдано.

Старый 30.05.2014, 14:42
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 12  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Цитата:
Я как-то на его вопрос отвечал )
Извиняюсь
Но книжки могли бы и скинуть.
__________________
There is no thing in this world that is not simple.

Старый 30.05.2014, 15:23
DCH вне форума Посмотреть профиль Отправить личное сообщение для DCH Найти все сообщения от DCH
  № 13  
Ответить с цитированием
DCH
 
Аватар для DCH

Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
Абсолютно излишне, даже вредно, читать про паттерны в контексте языка. Одна из самых замечательных книг по этому вопросу: Паттерны проектирования, банды четырех. Ее несложно нагуглить.
Цитата:
А так MVC ради MVC это не всегда оправдано.
Любой паттерн ради паттерна не оправдан. MVC, как и любой другой шаблон, призван решить конкретную задачу, схожую во многих проектах, а именно: отделить логику кода от представления. Или, если вам будет угодно, отделить бизнес-логику от клиентской. Для чего это делается уже вопрос другой, и ответами на него только что не все заборы еще исписаны. Достаточно гуглануть и почитать. Не надо приплетать к одному шаблону другой и городить из этого спагетти. ООП это ООП, MVC это MVC. Одно от другого не зависит нисколько и прекрасно существует по раздельности.
Цитата:
придешь к своему MVC
Да-Да. Именно к своему. А так же к своему кодстайлу, к своему видению "как правильно" и прочей замечательной вермишели, которая нас всех так радует, когда мы попадаем в команды, поддерживающие проекты, написанные двумя-тремя подобными профессионалами.


Последний раз редактировалось DCH; 30.05.2014 в 15:38.
Старый 30.05.2014, 15:55
LifeIsRhythm вне форума Посмотреть профиль Отправить личное сообщение для LifeIsRhythm Найти все сообщения от LifeIsRhythm
  № 14  
Ответить с цитированием
LifeIsRhythm
[+1 22.07.14]
[+4 12.08.14]
[+1 09.02.15]

Регистрация: May 2014
Сообщений: 182
Цитата:
ООП это ООП, MVC это MVC.
На мой взгляд - ОПП, это правила, MVC, это реализация ОПП, то есть, ОПП и MVC взаимосвязаны.
Цитата:
Да-Да. Именно к своему.
Меня бросает в дрож от этих слов. Я учился на MVC где модель диспатчит события во вью, вью диспатчит контроллеру, контроллер изменяет ( иногда что-то предает ) в модель. Эта модель реализации, накладывает некие ограничения на структуру написания кода и мне страшно представить, что я попаду в команду, где контроллер слушает модель и изменяет вью ( эта реализация более распространена чем та, на которой учился я ). И читая слова процитированные выше, я опасаюсь попасть в команду, где вью изменяет модель...

Старый 30.05.2014, 16:06
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 15  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Все эти структуры могут применяться в различных ситуациях с разным успехом.
Поэтому одной конкретной нельзя придерживаться всё время.
__________________
There is no thing in this world that is not simple.

Старый 30.05.2014, 16:37
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 16  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
я опасаюсь попасть в команду, где вью изменяет модель...
Ну таких людей на самом деле нет. Так не пишут. Контроллер может ВЫЗЫВАТЬ метода вью, но никак не менять ее значения, контроллер может слушать модель, точно так же как и вью - ничего в этом плохого нет. А вот изменять модель через вью - это уже фарш. Как раз вот со временем МВС становится более широким, чем в стандартной реализации, он может сочетать в себе MVP отдельно, например.
Еще есть такие вещи как вью-контролы, которые конечно очень редки но имеют место быть. Он как бы вьюха, но по большей части занимается процессами.
В одном из проектов был выбор ( понятное дело, что это разовая ситуация, если бы их было много, я бы пересмотрел архитектуру) - либо рассылать событие из вью в контроллер чтобы сделать следующее model.nextGen() - запустить некий метод модели, либо прям из вьюхи это сделать. Почему нет, когда это удобнее и быстрее, лишь потому, что становится уже не МВС - а некая своя стандартизация ? Так это хорошо, чем плохо. Но опять же, это разовая система, я бы писать так не стал постоянно, например.
__________________
Марк Tween

Старый 30.05.2014, 17:40
2misha вне форума Посмотреть профиль Отправить личное сообщение для 2misha Найти все сообщения от 2misha
  № 17  
Ответить с цитированием
2misha

Регистрация: Apr 2014
Сообщений: 97
Цитата:
Сообщение от Aquahawk Посмотреть сообщение
Ни зачем оно не надо. Пока сам не утонешь в том шлаке который пишешь никто не понимает. И я так делал и и все так делали. Пиши как пишется. Когда проблемы возникнут сам поймёшь.
Уже утонул. Чем больше новых возможностей в свой проект добавляю, тем больше в нем запутываюсь и понимаю, что я ничего в том не понимаю. По этому решил переписать его заново, грамотно.

Кстати, может есть описание конвенций синтаксиса на русском где-то?

Старый 30.05.2014, 18:05
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 18  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Например, вот.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 31.05.2014, 00:51
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 19  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цитата:
В одном из проектов был выбор ( понятное дело, что это разовая ситуация, если бы их было много, я бы пересмотрел архитектуру) - либо рассылать событие из вью в контроллер чтобы сделать следующее model.nextGen() - запустить некий метод модели, либо прям из вьюхи это сделать. Почему нет, когда это удобнее и быстрее, лишь потому, что становится уже не МВС - а некая своя стандартизация ?
Этот камушек преткновения появляется, когда Модель недостаточно абстрагирована и вам кажется, что она должна хранить всякую чушь. Но она не должна. Действительно не должна. Если какие-то вызовы и передачу данных Вам удалось сделать внутри Вью минуя Модель, значит для Модели это и была чушь. Значит, так И НАДО БЫЛО делать. Это не исключение, это и есть норма. Модели это не надо — ну и отлично. Вью должна уметь сама разбираться со своими внутренними проблемами. Модель не обязана помнить все состояния кнопочек при движении мышки по экрану и прочую лабуду. Это не данные уровня Модели. Это данные уровня Вью. Как только появятся данные уровня Модели, Вы не сможете обойтись без записи их в Модель, никак.
__________________
Reality.getBounds(this);

Старый 31.05.2014, 00:58
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 20  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Этот камушек преткновения появляется, когда Модель недостаточно абстрагирована и вам кажется, что она должна хранить всякую чушь. Но она не должна. Действительно не должна. Если какие-то вызовы и передачу данных Вам удалось сделать внутри Вью минуя Модель, значит для Модели это и была чушь. Значит, так И НАДО БЫЛО делать. Это не исключение, это и есть норма. Модели это не надо — ну и отлично. Вью должна уметь сама разбираться со своими внутренними проблемами. Модель не обязана помнить все состояния кнопочек при движении мышки по экрану и прочую лабуду. Это не данные уровня Модели. Это данные уровня Вью.
Как бы получилось немного не по делу наверное ответ, так как я не сказал о чем речь. Попробую пояснить.
Имеется меню. В котором есть чекБокс допустим, я выбираю состояние, это все во вью. Благодаря тому, что я выбрал состояние, модель должна запомнить это состояние и дальше произвести несколько своих операций, разослать события в другие вью и т.п. - не суть, архитектура допустим большая.
Так вот по парадигме я должен сделать следующее : разослать событие из ВЬЮ в контрол, где сообщить какое состояние выбрано и затем запустить метод модели. Это долгая операция, но она вполне оправда в контекте МВС. Но в данный момент, допустим это разовое дело, КОГДА вью должно в итоге загрузить модель, в остальных случаях - вью только слушает модель. Посему я разрешил себе написать model.nextGen() / model.prevGen() из вью, где выбрано состояние, чем осуществлять ДОЛГИЙ подход через контроллер. В данный момент я и назвал такой вид, как вид-контроллер по сути. Но я повторил, что это разовая практика, я так не делаю, только в 1 проекте позволил - и не увидел проблем, а только плюсы. Опять же зависит от масштабности проекта, но все же..
__________________
Марк Tween

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.