И сразу в дополнение вот отсюда (предыдущее оттуда же было):
Figure 4-1. Building blocks of the Model-View-Controller architectural pattern. Solid
lines represent direct connections, dashed lines represent indirect connections
Figure 5-1. The VisualWorks version of MVC, which separated the concepts of domain
model and application model. (Bower & McGlashan 2000)
Если посмотреть сначала на первую, потому на вторую, то, на мой взгляд, получается, что есть разные интерпретации. И не очень понятно, почему Вы свою интерпретацию про слои и компоненты считаете единственно верной.
Вы бы хотя бы где-нибудь на что-нибудь сослались, чтобы понять, почему Вы считаете, что Ваша интерпретация — единственно верная.
4.1.1 Model
The model is a non-visual object containing all the data and behaviour other than that
used for its presentation to the user (Fowler 2003). Model represents the data and
state (Freeman et al. 2004) of an application and the domain logic that manipulates it
(Buschmann et al. 1996).
4.3.1 Separated Presentation or Model-View
The most fundamental principle in the Smalltalk MVC and all the others that followed,
is to separate the elements seen on the screen i.e. presentation or user interface, and
the set of classes that are concerned with the core of the application, i.e. the domain
objects or data management (Potel 1996; Fowler 2003). Fowler (2006b) refers to this
as Separated Presentation, while Sanderson (2010) names it Model-View (figure 4-
2).
Another strict rule is visibility: the presentation can call the domain objects, but not
vice-versa. The domain objects should be completely self contained and unaware of
any presentations. This is in fact a form of a layered architecture. The visibility rule can
even be validated with build-time tools. (Fowler 2006b)
«Это же простая итерация по массиву объектов! Зачем она вообще?» — спросит реактовод.
«А затем, что иначе вы не сможете в значение option передать что-то кроме строки!»
«Ну, знаете ли...»
А чего там мощного, вы фактически и идете по пути ограничения всея мощи, чтобы if-ов не было (только тернарный оператор), switch-ей тоже, т.е. искусственно накладываете ограничения на используемый синтаксис.
Представляю, что там в render будет в сколько-нибудь больших проектах, если по рукам сильно не бить и искуственно не ограничивать «всю мощь JS в HTML».
Все же, наверное, стоило в Caps Lock жирным написать, что это туториал для БЕТЫ. В бете еще не все вылизано, потому требуется понимание, как все функционирует. К слову, это же понимание требуется при написании сколько-нибудь серьезного приложения.
В районе релиза это все будет выглядеть как-то так:
npm install -g angular-cli
ng new PROJECT_NAME
cd PROJECT_NAME
ng serve
ng generate component my-new-component
Для тех, кто хочет просто поиграться по-быстрому: plnkr.co/edit => New => AngularJS 2.0.x (ES6/ES5/TS — выбирайте сами)
А что касается Rx, то сейчас они и решают, в каком объеме его надо включить в ядро: github.com/angular/angular/issues/4390
Т.е. в данный момент может придется подключить отдельно, хотя зависит от того, что надо, можно попробовать просто импортировать из
Вы про stateful/stateless (pure: boolean в терминологии Angular2)? Если да, то и в первой то версии они могли быть stateful, просто не рекомендовалось.
К сожалению, Вы не очень удачно выбрали время для публикации статьи. В том смысле, что Вы рассматриваете немного устаревшую версию, а именно в эти дни (вчера и сегодня) на AngularConnect представляют гораздо более актуальное состояние.
Самую актуальную информацию в данный момент проще всего получить в твиттере twitter.com/AngularConnect — там выкладывают ссылки на презентации, выступления и т.п.
для двухстороннего связывания уже есть синтаксический сахар [()]
новый Angular не просто поддерживает TypeScript — он на нем написан, соответственно и свое приложение на Typescript писать очень удобно
не очень понял, как теневой дом помогает собирать готовые страницы на серверной части. Кому интересны изоморфные приложения на Angular, тому сюда github.com/angular/universal
Вы как-то определили граничные условия подобной деавтоматизации? Когда начнете обратно автоматизировать? :) Или это специфика Вашего бизнеса, что есть определенные ограничения, до которых вы можете вырасти, и этот уровень вы можете себе позволить обрабатывать с использованием только человеческих ресурсов?
Вам впору статью писать о плюсах/минусах AngularJS и React/Flux с точки зрения архитектуры приложения. Наконец-то может получиться интересный обзор от того, кто более-менее глубоко работал и с тем и с тем. А то обычно какой-то перекос, когда обзор пишет человек, который с одним инструментом работал долго и глубоко, а второй попытался освоить за недельку.
Я не просто отрицаю, я вам и пруф дал на основе вашего же плунка. Ваша изначальное обобщенное высказывание некорректно. Не вводите людей в заблуждение. Не каждая статья в интернете — это истина в последней инстанции. Максимум — это повод углубить и расширить свое понимание о работе фреймворка, а не зазубрить мифы.
Измените содержимое — это и есть то, что я первый раз в англоязычном варианте процитировал. Вы мой-то плунк посмотрели? Можете тоже самое сделать в своих новых.
Итого: по-умолчанию ничего не копируется. Когда вы пытаетесь каким-либо образом поменять переменную, у которой в имени нет точки, AngularJS просто не делает поиск по иерархии и устанавливает (создает) переменную с таким именем на текущем scope.
P.S. все также непонятно, какое это отношение имеет к getter-свойству?..
Я вот это не очень понял. Тут вот это подразумевалось?
поскольку и Controller, и View знают о Model, они оба (Controller и View?) живут в одном tier(?) (иначе будет нарушено правило непересечения tier(?))
Если посмотреть сначала на первую, потому на вторую, то, на мой взгляд, получается, что есть разные интерпретации. И не очень понятно, почему Вы свою интерпретацию про слои и компоненты считаете единственно верной.
1.х: plnkr.co/edit/POgFi6FHZk1cyhf75NgA?p=preview
2.х: plnkr.co/edit/sQdCcD2tPrtEt4rBFst4?p=preview
А как это будет выглядет в реакте?
А чего там мощного, вы фактически и идете по пути ограничения всея мощи, чтобы if-ов не было (только тернарный оператор), switch-ей тоже, т.е. искусственно накладываете ограничения на используемый синтаксис.
Не говоря уж о всей мощи JS:
Представляю, что там в render будет в сколько-нибудь больших проектах, если по рукам сильно не бить и искуственно не ограничивать «всю мощь JS в HTML».
В районе релиза это все будет выглядеть как-то так:
Для тех, кто хочет просто поиграться по-быстрому: plnkr.co/edit => New => AngularJS 2.0.x (ES6/ES5/TS — выбирайте сами)
Т.е. в данный момент может придется подключить отдельно, хотя зависит от того, что надо, можно попробовать просто импортировать из
Или что-то типа одноразоваго stateful?
Самую актуальную информацию в данный момент проще всего получить в твиттере twitter.com/AngularConnect — там выкладывают ссылки на презентации, выступления и т.п.
Вот в частности keynote: g.co/ng/ac-keynote
По самому содержанию:
Лучший способ получать последнюю информацию: gitter.im/angular/angular. Там же постоянно выкладывают ссылки на репозитории, с которых лучше начать, посмотреть, например:
github.com/pkozlowski-opensource/ng2-play
github.com/mgechev/angular2-seed
У John Papa тоже чего-то есть: github.com/johnpapa (в принципе вроде его Tour of Heroes и выкладывается на angular.io)
plnkr.co/edit/XuFKYjo9Wxi9aPKO7dQk?p=preview
Что там у вас не обновлялось?
Я не просто отрицаю, я вам и пруф дал на основе вашего же плунка. Ваша изначальное обобщенное высказывание некорректно. Не вводите людей в заблуждение. Не каждая статья в интернете — это истина в последней инстанции. Максимум — это повод углубить и расширить свое понимание о работе фреймворка, а не зазубрить мифы.
Итого: по-умолчанию ничего не копируется. Когда вы пытаетесь каким-либо образом поменять переменную, у которой в имени нет точки, AngularJS просто не делает поиск по иерархии и устанавливает (создает) переменную с таким именем на текущем scope.
P.S. все также непонятно, какое это отношение имеет к getter-свойству?..