Как выдвинуть хорошую экономическую модель для WPF?

Дуглас Крокфорд рекомендует в 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 для вышеуказанного объекта.


Примечание:

  1. Цикл For в лучше всего подходит для пар имя-значение.
  2. Для каждого цикла лучше всего подходит для повторяемых значений. Например: массивы и объекты, если вас не интересует название свойства.

7
задан HAdes 8 June 2009 в 10:38
поделиться

5 ответов

Самым большим преимуществом 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.

7
ответ дан 6 December 2019 в 09:21
поделиться

Влияет ли индекс на мой процесс и на все другие процессы, использующие таблицу? или это влияет только на мой процесс?

Я предполагаю, что мы говорим о ГЛОБАЛЬНЫХ ВРЕМЕННЫХ таблицах.

Думайте о временной таблице как о нескольких таблицах, которые создаются и удаляются каждым процессом муха из шаблона, хранящегося в системном словаре .

В Oracle , DML временной таблицы влияет на все процессы, в то время как содержащиеся данные в таблице будет влиять только на один процесс, который их использует.

Данные во временной таблице видны только внутри области сеанса. Он использует TEMPORARY TABLESPACE для хранения как данных, так и возможных индексов.

DML для временной таблицы (т.е. ее макет,

4
ответ дан 6 December 2019 в 09:21
поделиться

По опыту, Xaml делает создание и обслуживание пользовательского интерфейса (особенно для сложных пользовательских интерфейсов) феноменально проще, чем WinForms. Улучшения привязки данных также существенны - они не только делают ваши приложения более тестируемыми, как упоминалось другими, но и значительно ускоряют время разработки. WPF также включает поддержку XPS, поэтому, если ваша компания планирует какую-либо функцию «печати в PDF», вы можете сообщить им, что получите ее бесплатно. Кроме того, WPF «более популярен», чем WinForms, поэтому вы найдете больше бесплатных элементов управления и новый актуальный образец кода для WPF, который экономит ваше время. Наконец, WinForms никуда не денется. Технология, вероятно, будет полностью поддерживаться MS в течение долгого времени, но WPF, очевидно, является их «любимой» технологией для новых разработок и получит лучшую инструментальную поддержку.

2
ответ дан 6 December 2019 в 09:21
поделиться
  1. Как только вы изучите «способ WPF», создание полнофункционального сложного пользовательского интерфейса в XAML будет быстрее, чем в WinForms (из-за отличной поддержки привязки данных, возможности компоновки элементов управления, автоматического макета и т. Д.) .

  2. В WinForms сложно отделить логику от представления, в WPF это намного проще - это дает вам более чистый код, возможность тестирования и возможность использовать ту же логику с другой технологией пользовательского интерфейса в будущем.

  3. Очевидно, что WPF - это привлекает больше внимания со стороны MS и развивается быстрее, чем WinForms (см., например, VS2010).

Но с другой стороны

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

WPF работает только в Windows XP SP2 или новее,это не ограничение для коммерческого применения, поскольку любой, кто покупает программное обеспечение, обновился до XP много лет назад, но может стать проблемой в среде сотрудничества, если у вас все еще есть машины Windows 2000.

2
ответ дан 6 December 2019 в 09:21
поделиться

Что ж, если вы просто должны убедить руководство в достоинствах WPF, просто бросьте им пару забавных видео на YouTube. Мне особенно нравится это и это . :)

Самая важная техническая причина, о которой я могу думать, - это разделение логики программы от пользовательского интерфейса. Однако этого можно достичь с помощью альтернативных парадигм программирования.

5
ответ дан 6 December 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: