Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Кто что для себя понял по mvc? (http://www.flasher.ru/forum/showthread.php?t=215303)

Godwarlock 23.03.2018 03:26

Кто что для себя понял по mvc?
 
Кто для себя что понял изучив mvc и в последствии модифицировав его во многие структуры тесно связанные со схемой этого формирования. Или может есть пик организации какой-то сложной структуры и дальше идти некуда?

caseyryan 23.03.2018 08:40

Цитата:

и в последствии модифицировав его во многие структуры
Интересная фраза) Может ты имел в виду "интегрировав"?

Не понял смысла темы. Но если тебе интересно как сделать, чтобы твои программы не заходили в тупик, изучи принципы SOLID

ZergMaster 23.03.2018 12:05

для меня mvc хорошо проиллюстрировала принцип модульности, раскрыла его, помогла писать более ООПэшный ООПэ. Не сказал бы, что я сейчас ему скрупулезно всегда следую. Главная задача - разделить полномочия так, чтобы никто ни о чем не догадывался.

dark256 24.03.2018 10:23

Понял, что все об этом трещат, но толком никто не реализует :)
А если реализует - то "правильной" реализацию считает лишь реализатор :)
Сугубо субъективная вещь.

undefined 24.03.2018 21:57

а мне вот интересно возможен ли mvc без событий(на колбэках),ведь колбэк за собой тянет еще и скоуп,где он описан,от чего ,вся троица получается тесно связана.
Например в жаве,в контроллере:
Код AS1/AS2:

model.doSomething(new OnSomethingCompleted{
    public void onCompleted() {
      someControllerMethod();
  }
})

Т.е. формально модель,храня ссылку на колбэк,хранит еще и ссылку на контроллер.Аналогично и для пары вью-контроллер.

Godwarlock 24.03.2018 22:10

Цитата:

Сообщение от caseyryan (Сообщение 1204661)
Интересная фраза) Может ты имел в виду "интегрировав"?

Не понял смысла темы. Но если тебе интересно как сделать, чтобы твои программы не заходили в тупик, изучи принципы SOLID

Программы в тупик из-за структуры зайти никак не могут(во всяком случае у меня))), тупик может возникнуть разве что при реализации какого-то сервиса. Например распознание речи, нейросети и т.п) Это те вещи, которые мне пока достаточно сложно освоить, но в будущем очень хотелось бы. Но по большей части, наверно мне хотелось бы вычерпнуть из реализации mvc, какой-то определенный стопудовый шаблон, который подойдет для любой программы. Сейчас у меня есть некий шаблон такой, но я чувствую и вижу где-то неправильную его реализацию. Надо подольше посидеть и подумать над этим. Я очень редко использую собственные расширения наследования и интерфейсов. В основном наследуюсь от нативных компонентов, спрайты, скроллы, текстфилды и прочие стандарты, в основном для вьюхи, для моделей и контроллеров. Тут вопрос спорный. Я пока не очень понимаю, зачем мне например создавать класс характеристик и чтобы персонаж или противник наследовал этот класс, присваивая себе характеристики. Кода в классах будет меньше и не более, да и мне например гораздо проще будет сразу вписать в класс персонажа все его характеристики, потому что несмотря даже на то, что есть еще противник с идентичными свойствами, могут быть какие-то другие, которые к классу игрового персонажа никак не относятся, но при наследовании, они будут и у противника, и у персонажа, даже если он не использует какие-то свойства, предназначенные только противнику. Что касается интерфейсов. В них я вообще еще пока смысла не увидел, сколько бы не пытался начинать создавать сервис именно с интерфейсов. Во всяком случае, если кодом занимается только 1 человек и никому исходник передаваться не будет. Хотя по поводу наследования, наверно это один из тех моментов, когда нужно разделить обязанности. И где бы я использовал собственные расширения наследования, это только там, где мне нужно получить свойства через getterы. Чтобы отделить основную логику, от получения нужных свойств. Что-то вроде такой структуры Model(Logic-Get-Set-Params). Вот как то так.

СлаваRa 24.03.2018 22:23

Цитата:

Сообщение от undefined (Сообщение 1204698)
а мне вот интересно возможен ли mvc без событий(на колбэках),ведь колбэк за собой тянет еще и скоуп,где он описан,от чего ,вся троица получается тесно связана.
Например в жаве,в контроллере:
Код AS1/AS2:

model.doSomething(new OnSomethingCompleted{
    public void onCompleted() {
      someControllerMethod();
  }
})

Т.е. формально модель,храня ссылку на колбэк,хранит еще и ссылку на контроллер.Аналогично и для пары вью-контроллер.

Щито?
Callback-и - просто менее удобны чем события.
Но то что ты пишешь, я даже интерпретировать не могу.
Из твоего кода, могу предположить, что контроллер подписывается на какой-то сигнал модели, все, причем тут что там захватывает callback? Он захватил ссылку на model? Так судя по коду она у тебя и так есть, он захватил ссылку на контроллер, и...?

зы
Java, какая-то у тебя старая, функции уже давно можно передавать на прямую, без классов - обвязок :)

undefined 24.03.2018 22:28

Цитата:

Сообщение от СлаваRa (Сообщение 1204700)
Щито?
Callback-и - просто менее удобны чем события.
Но то что ты пишешь, я даже интерпретировать не могу.
Из твоего кода, могу предположить, что контроллер подписывается на какой-то сигнал модели, все, причем тут что там захватывает callback? Он захватил ссылку на model? Так судя по коду она у тебя и так есть, он захватил ссылку на контроллер, и...?

зы
Java, какая-то у тебя старая, функции уже давно можно передавать на прямую, без классов - обвязок :)

модель захватила ссылку на контроллер,что супротив mvc разве нет?Ссылка на модель у контроллера должна быть по определению.
Цитата:

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

СлаваRa 24.03.2018 22:36

Модель захватила? Прям вот так? Т.е. можешь прям взять эту ссылку на контроллер и использовать в моделе?

Цитата:

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

undefined 24.03.2018 22:43

можно пример как можно передать колбэк без класса-слушателя?


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

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