А что функции уже стали данными? И если да, то они стали mutable?
Если целью ставится shared object, то использование возможно, хотя я бы использовал другой метод, поскольку присвоение нового объекта мгновенно обрезает связь.
Вы предлагаете вариант, который сам может содержать грубейшую ошибку. Только immutable данные могут быть прописаны в прототипе. Например примитивы или строки. Иначе изменение значений внутри объекта данных, прописанного в прототипе приведет к их изменению для всех объектов созданных из данного класса.
Таких частных случаев как пионеров нерезанных. Я привел самый распространенный, без которого не обходится ни одна аппликация. Кстати Майкрософт по этому поводу говорит следующее: «There is typically a one-to-one relationship between a view and its view model». Другими словами это типично, но не обязательно. Пруфлинк msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx.
Все зависит от программиста, но такого ограничения ни физически, ни логически нет. Для примера возьмем упомянутый паттерн master-details & WPF. Создаем в мастере список view-моделей, привязываем его к лист-боксу и задаем отображение для элемента. Это первое view для нашей view-модели. Далее создаем ContentControl и привязываем наш список с заключительным слешем (кто не знает, это привязывает выбранный элемент списка). Создаем отображение details для той же view-модели. Это будет второе view. Есть примеры отображения модели как графика и как списка или разных графиков и много другого разного. Главное, что идея MVVM не ограничивает привязку одного отображения.
Мне кажется в описании View-Model вкралась ошибочка в последнем пункте. Вполне возможно и даже принято связывать одну View-модель с несколькими View. Очень распространено в master-details представлениях.
Дело, конечно полезное, но, если честно, я бы предпочел чтоб к моно прикрутили полноценный WPF и его-же позволили использовать на Android/iOS через Xamarin или как-нибудь ещё.
Ну уж разница между использование и неиспользованием ключевого слова это совсем основа. Иначе вы рассказали не о эвенте а о делегате — в вашем коде можно спокойно убрать все слова event и ничего не изменится
А также не раскрыта разница между public event EventHandler Changed
и public EventHandler Changed
поскольку в обоих случаях можно подписаться на событие, но ключевое слово event вносит свои тонкости
Кроме того неплохо бы описать для новичков наличие стандартных делегатов Func<> и Action<>
По-поводу dynamic вы можете глянуть на мою статью на CodeProject.com: General DynamicObject Proxy and Fast Reflection Proxy (на английском)
Там также есть базисные тесты производительности. Насколько я понимаю она довольно близка к вашему проекту.
Это у вас не совсем верная инфа по Изгаилю. Штрафов нет. Вы просто оплачиваете вызов скорой, а это порядка 200$. Если вызов ложный, то эти деньги вам не возвращают. Если не ложный, но можно было и обойтись, то больничная касса сама решает сколько вам вернуть. А если вас приняли в приемный покой больницы, то возврат полный. Бывают накладки и нюансы, но в основном так.
Была проблема с ложными вызовами, а не с приездом вовремя. Просто приходилось иметь немного больше персонала и транспорта. А с введением оплаты решили сразу несколько проблем и добавили чуток геморроя больным, поскольку возврат денег нужно получать потом через Больничную кассу (специальная страховая компания). Кстати больничные кассы были частными конторами. Платишь страховку — имеешь врачей, скорую и так далее. Скорая тоже стала в некотором роде частной. Получает деньги за вызов, приезжает быстро.
Интересно, а почему время прибытия скорой, скажем, в Израиле равно времени проезда от ближайшего отделения скорой до места назначения и обычно не превышает минут 10? Там тоже была проблема с ложными вызовами, но они ввели плату за вызов, а возврат происходит только в случае реального вызова, например, пациента отвезли в больницу. Кстати, в большей степени скорая это средство доставки до больницы, и только в особых случаях присылают расширенную машину скорой с возможностью реанимации или срочной помощи. По звонку тебя спрашивают какая проблема и некоторые детали и решают что делать. Но ни разу не помню случая, чтоб кто-то из моих знакомых не дождался скорой или она приехала с большой задержкой.
Не хватает (или не нашёл) параллельного просмотра карты и просмотра улиц. Очень помогало мне в прошлом прослеживать короткие прогулки и запоминать визуальные оринтиры.
Вы правы. Просто я проверял в 2-х вебкитах, где на автомате подгрузился плагин.
Но это не совсем смертельно. Можно в конце-концов использовать хром или его клоны для ридера. Другое дело, что интерфейс мне на первый взгляд показался неудобным и некоторые RSSы во вложенных папкаах он не ловит, а гугл поймал.
Честно говоря после первой попытки написать обычные упражнения по английскому языку в Гугле, плюнул и вернулся в Ворд. Гугл помечает абсолютно правильные слова как ошибочные и не замечает ошибок в других словах, я уже не говорю о временах. Ворд прекрасно определяет сложные грамматические конструкции, а такие вещи, как глаголы в третьем лице единственного чесла вообще бьет влет. Кроме этого совершенно идиотская штука произошла. Я печатал как обычно глядя на клавиатуру, а когда посмотрел на результат, то был ошарашен: во многих словах были пропущенны буквы, иногда пробелы между словами, а пару раз не досчитался целых слов. В Ворде у меня таких странностей не было.
Так что пользуюсь Вордом для редактирования а гугл драйвом для хранения.
Если целью ставится shared object, то использование возможно, хотя я бы использовал другой метод, поскольку присвоение нового объекта мгновенно обрезает связь.
Вы предлагаете вариант, который сам может содержать грубейшую ошибку. Только immutable данные могут быть прописаны в прототипе. Например примитивы или строки. Иначе изменение значений внутри объекта данных, прописанного в прототипе приведет к их изменению для всех объектов созданных из данного класса.
(Понимаю, что речь идет о совсем других материях)
event
и ничего не изменитсяpublic event EventHandler Changed
и
public EventHandler Changed
поскольку в обоих случаях можно подписаться на событие, но ключевое слово
event
вносит свои тонкостиКроме того неплохо бы описать для новичков наличие стандартных делегатов
Func<>
иAction<>
General DynamicObject Proxy and Fast Reflection Proxy (на английском)
Там также есть базисные тесты производительности. Насколько я понимаю она довольно близка к вашему проекту.
должен раскрываться в:
а такое:
в следующее:
Но это не совсем смертельно. Можно в конце-концов использовать хром или его клоны для ридера. Другое дело, что интерфейс мне на первый взгляд показался неудобным и некоторые RSSы во вложенных папкаах он не ловит, а гугл поймал.
Так что пользуюсь Вордом для редактирования а гугл драйвом для хранения.