Как стать автором
Обновить

Комментарии 22

Не хватает решаемых проблем и получаемого результата. Этим паттерны должны учить приёмам декомпозиции задачи и композиции её решения, а не тупо быть шаблоном.
MVC слишком абстрактный паттерн, чтобы к нему можно было сделать примеры. Я думаю, это даже не паттерн, а концепция. Не зря существует столько вариаций. Это не какой нибудь Strategy.
надо давать примеры работающих приложений, иллюстрирующие те или иные концепции.
с DOM удачно получилось, а остальное без примерно малопонятно для тех, кто на практике не сталкивался с чем-то подобным. то есть получается, что статья написана для тех, кто уже это знает, и бесполезна для тех, кто не знает.
без примерно *без примеров*
Он же все равно решает какую-то проблему? И результат всегда оказывается с компромиссами, какими? Хотелось бы это увидеть в статье.
MB решают проблему «разделяй и влавствуй»? =) Более конкретной проблемы для таких паттернов у меня фантазии не хватает придумать с ходу.
Юные разработчики, вооружившись этой статьёй, тоже будут придумывать проблемы для оправдания использования паттерна :)
Думается, если разработчик хоть и юный, но имеющий голову на плечах, он таки попробует копнуть глубже в тему и посмотреть примеры фреймворков хотя бы построенных на этих паттернах. А если головы на плечах нет… думаю пояснять не надо. Итак капитанствую.
Вы правы, понимайте меня также
Понимаю, и согласен с вами =)
Вы не устали нести свет в наши неосведомленные умы? За ссылку спасибо :)
Честно говоря, за прошедшие дни MVC на Хабре — заколебался :)
Думаю это последний топик по этой теме, где за ближайшие пол-года отписался.
Гори они все пламенем, да по что синем, да что б эффектно -))
heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html тут описана сама идея MVC.
Лучше мою ссылку посмотреть.
в 79 году он только начинал развивать идею.
Когда именно сформировали парадигму.
Последний паттерн это не AMD.
The Asynchronous Module Definition (AMD) API specifies a mechanism for defining modules such that the module and its dependencies can be asynchronously loaded.
AMD — это спосбо организации модулей, а не приложения.

Последний пункт не имеет устоявшегося названия, Николас Закас(автор этого подхода) его называет Scaleable JavaScript Application Architecture (SJSAA).
Есть несколько реализаций этого подхода. Одна из них и статья описывающая подробности реализации.

PS Ядро приложения развивается за счет Расширений (не хватает облачка).
Так черным по белому написано, что это — «спецификация описывающая модульные приложения»… которая была создана, как альтернатива CJS. Информация отсюда; и эта ссылка также приведена в тексте. А вот, дополнительная ссылка на презентацию и на github.
В вашей статье написано, что
AMD (Asynchronous Module Definition) — спецификация, описывающая модульные приложения, в которых элементы приложения оформлены блоками интерфейса и реализованы каждый в своем модуле. Эти модули друг с другом не обмениваются. Они знают только о песочнице, в которой происходит их выполнение. Песочница, в свою очередь, имеет дело с ядром приложения, которое запускает процесс и следит за последовательностью действий.

Так вот это не AMD.

В статье на которую вы опирались есть фраза «Для модульных приложений создана спецификация описания модулей AMD (и альтернативная CJS).» она не говорит, что следующая за ней схема это AMD.
отписал в личку.
Немного подкорректировал статью, учитывая рекомендации более опытных коллег, в частности убрал раздел с упоминанием AMD (Asynchronous Module Definition) — спецификация описывающая построение модульных приложений, способ организации модулей в клиент-сайд приложении. Взаимодействие между модулями же может происходить по MV* схеме.

Схема, в которых элементы приложения оформлены блоками интерфейса и реализованы каждый в своем модуле, выполняемыми в песочнице — Scaleable JavaScript Application Architecture. При этом модули непосредственно друг с другом не обмениваются. И она так же плохо подходит под понятие MV*, т.к. не описывает ни модель ни представление, а описывает иную иерархию приложения. При этом, модули могут быть реализованы на схемах MVC в частности.

Вот как-то так… с этим еще нужно будет как следует разобраться. Для тех кому не терпится, еще несколько ссылок:

Еще раз спасибо хабраюзеру azproduction.
Опечатка: Scaleable -> Scalable JS Application Architecture

Заодно спасибо, пользователю Kyuujitsu за ссылку на презентацию Закаса. Еще раз её продублирую — http://www.slideshare.net/nzakas/scalable-javascript-application-architecture
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории