Дуглас Крокфорд рекомендует в JavaScript: The Good Parts избегать использования выражения for in
.
Если вы используете for in
для зацикливания имен свойств в объекте, результаты не упорядочиваются .
Цикл for in
лучше всего подходит для итерации по парам имя-значение , а цикл for each
лучше всего подходит для итерации по значениям, то есть массивам.
Например,
var o = {'name':'Batman', 'age':33, 'city':'Gotham City'};
for (var p in o) {
console.log(p+': '+o[p]);
}
Мы не можем получить имя свойства, если будем использовать цикл For Each Loop для вышеуказанного объекта.
Примечание:
Самым большим преимуществом WPF по сравнению с WinForms для бизнеса, как я вижу, является значительное повышение тестируемости . Из-за повсеместной поддержки Data Binding в WPF такие шаблоны, как Model-View-ViewModel , становятся тривиальными для реализации и позволяют выделить большую часть логики взаимодействия приложения в классы ViewModel, которые, будучи объектами Plain-Old-Clr-Objects, намного проще тестировать, чем элементы управления WinForms.
Второе преимущество заключается в возможности компоновки «виджетов» в WPF. Настройка внешнего вида элементов в ListBox или ComboBox с использованием шаблонов данных , например, представляет собой несложную задачу по сравнению с пользовательским рисунком, который должен выполняться в WinFroms. Таким образом, WPF значительно упрощает создание приложений с высоким удобством использования по сравнению с WinForms.
В-третьих, Control Model и Graphics APIs являются значительным улучшением WinForms. Когда я хотел создать элемент управления Custom Chart с поддержкой рендеринга нескольких сотен серий, мне потребовалось всего несколько дней, чтобы сделать это - я помню, что что-то подобное занимало недели в WinForms. В качестве другого примера я написал в блоге о том, как легко начать создание пользовательского элемента управления Ганта в WPF.
мне потребовалось всего несколько дней, чтобы сделать это - я помню, что что-то подобное занимало недели в WinForms. В качестве другого примера я написал в блоге о том, как легко начать создание пользовательского элемента управления Ганта в WPF. мне потребовалось всего несколько дней, чтобы сделать это - я помню, что что-то подобное занимало недели в WinForms. В качестве другого примера я написал в блоге о том, как легко начать создание пользовательского элемента управления Ганта в WPF.Влияет ли индекс на мой процесс и на все другие процессы, использующие таблицу? или это влияет только на мой процесс?
Я предполагаю, что мы говорим о ГЛОБАЛЬНЫХ ВРЕМЕННЫХ
таблицах.
Думайте о временной таблице как о нескольких таблицах, которые создаются и удаляются каждым процессом муха из шаблона, хранящегося в системном словаре .
В Oracle
, DML
временной таблицы
влияет на все процессы, в то время как содержащиеся данные в таблице будет влиять только на один процесс, который их использует.
Данные во временной таблице
видны только внутри области сеанса. Он использует TEMPORARY TABLESPACE
для хранения как данных, так и возможных индексов.
DML
для временной таблицы
(т.е. ее макет,
По опыту, Xaml делает создание и обслуживание пользовательского интерфейса (особенно для сложных пользовательских интерфейсов) феноменально проще, чем WinForms. Улучшения привязки данных также существенны - они не только делают ваши приложения более тестируемыми, как упоминалось другими, но и значительно ускоряют время разработки. WPF также включает поддержку XPS, поэтому, если ваша компания планирует какую-либо функцию «печати в PDF», вы можете сообщить им, что получите ее бесплатно. Кроме того, WPF «более популярен», чем WinForms, поэтому вы найдете больше бесплатных элементов управления и новый актуальный образец кода для WPF, который экономит ваше время. Наконец, WinForms никуда не денется. Технология, вероятно, будет полностью поддерживаться MS в течение долгого времени, но WPF, очевидно, является их «любимой» технологией для новых разработок и получит лучшую инструментальную поддержку.
Как только вы изучите «способ WPF», создание полнофункционального сложного пользовательского интерфейса в XAML будет быстрее, чем в WinForms (из-за отличной поддержки привязки данных, возможности компоновки элементов управления, автоматического макета и т. Д.) .
В WinForms сложно отделить логику от представления, в WPF это намного проще - это дает вам более чистый код, возможность тестирования и возможность использовать ту же логику с другой технологией пользовательского интерфейса в будущем.
Очевидно, что WPF - это привлекает больше внимания со стороны MS и развивается быстрее, чем WinForms (см., например, VS2010).
Но с другой стороны
Если я начинаю новый проект, я использую WPF, но если у вас есть переписывание большого количества существующего рабочего кода, вероятно, не лучшее использование вашего времени.
WPF работает только в Windows XP SP2 или новее,это не ограничение для коммерческого применения, поскольку любой, кто покупает программное обеспечение, обновился до XP много лет назад, но может стать проблемой в среде сотрудничества, если у вас все еще есть машины Windows 2000.
Что ж, если вы просто должны убедить руководство в достоинствах WPF, просто бросьте им пару забавных видео на YouTube. Мне особенно нравится это и это . :)
Самая важная техническая причина, о которой я могу думать, - это разделение логики программы от пользовательского интерфейса. Однако этого можно достичь с помощью альтернативных парадигм программирования.