Можно ли ссылаться на сборки .Net свободно? - PullRequest
0 голосов
/ 18 марта 2010

Я создаю приложение WPF и работаю с шаблоном MVVM.

В моем решении 4 проекта, 3 библиотеки классов, Data, Model и ViewModel и исполняемый файл WPF View.

Что-то не так с Моделью, ссылающейся на WindowsBase, так что я могу использовать ObservableCollection , например, или я могу просто использовать то, что мне интуитивно кажется необходимым, не беспокоясь об исходных целях класса в рамках, например сбор данных.

1 Ответ

1 голос
/ 18 марта 2010

Нет проблем, если вы не консерватор;)

Так что нет, нет реальной проблемы с их использованием, особенно если они являются фреймворком DLL, как тот, на который вы ссылаетесь. Есть тысячи вещей, о которых вы должны беспокоиться, прежде чем беспокоиться об этом, например, производительность WPF в целом, привязка данных происходит за счет отражения, накладных расходов на события и т. Д. Если это делает ваше приложение более удобным в обслуживании и предоставляет вам необходимые функции, используйте любую часть Система вам нужна. Как только вы создадите экземпляр, все будет хорошо в любом случае.

Теперь ... если вы загружаете тонны внешних dll-файлов, возможно, это может быть проблемой только из-за подкачки страниц, но обычно нет даже способа избежать этого легко. Наши индивидуальные проекты имеют около 35-40 ссылок каждый ... вы можете выполнить операцию загрузки только в первый раз.

«Они» говорят, что вы должны сделать одну большую сборку, если можете . Обычно вы этого не можете, так что этот совет даже не применяется.

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

Служебные расходы, связанные с наличием нескольких небольших сборок, можно отнести к следующему:
* Стоимость загрузки метаданных для небольших сборок. * Прикосновение к различным страницам памяти в предварительно скомпилированных изображениях в CLR для загрузки сборки (если она предварительно скомпилирована с помощью Ngen.exe). * JIT время компиляции. * Проверки безопасности.

Если вы используете только свой собственный код, то только ради здравомыслия и того факта, что VS.Net имеет так много проблем, использование меньшего количества больших проектов, вероятно, будет лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...