自由引用.Net程序集可以吗?

自由引用.Net程序集可以吗?,.net,mvvm,dll,.net,Mvvm,Dll,我正在构建一个WPF应用程序并使用MVVM模式 我的解决方案中有4个项目、3个类库、数据、模型和视图模型以及WPF可执行视图 引用WindowsBase的模型有什么问题吗?例如,我可以使用ObservaleCollection,或者我可以直接使用我直觉上认为需要的东西,而不用担心框架中类的原始用途,例如集合数据绑定。没问题,除非你是保守派;) 所以不,使用这些并不是一个真正的问题,特别是如果它们是框架dll,就像您正在引用的那个。在你担心这件事之前,有一千件事你应该先担心,比如WPF的性

我正在构建一个WPF应用程序并使用MVVM模式

我的解决方案中有4个项目、3个类库、数据、模型和视图模型以及WPF可执行视图


引用WindowsBase的模型有什么问题吗?例如,我可以使用ObservaleCollection,或者我可以直接使用我直觉上认为需要的东西,而不用担心框架中类的原始用途,例如集合数据绑定。

没问题,除非你是保守派;)

所以不,使用这些并不是一个真正的问题,特别是如果它们是框架dll,就像您正在引用的那个。在你担心这件事之前,有一千件事你应该先担心,比如WPF的性能,数据绑定通常是通过反射、事件开销等来实现的。如果它能让你的应用程序更易于维护,并提供你需要的功能,那么就使用你需要的系统的任何部分。创建实例后,一切都会很好

现在。。。如果您正在加载大量的外部dll,那么这可能仅仅是分页的问题,但通常没有一种方法可以轻松避免。我们每个项目都有大约35-40个参考文献。。。您仅在第一次通过时获得加载操作

。但通常你不能,所以这些建议根本不适用

,您应该更喜欢单个较大的程序集,而不是多个较小的程序集。如果有多个程序集始终加载在一起,则应将它们合并并创建单个程序集

与拥有多个较小组件相关的开销可归因于以下原因:
*为较小的程序集加载元数据的成本。 *触摸CLR中预编译映像中的各种内存页以加载程序集(如果它是使用Ngen.exe预编译的)。 *JIT编译时。 *安全检查


如果您只使用自己的代码,那么出于理智的考虑以及VS.Net有这么多问题的事实,使用更少、更大的项目可能会更好

这很有趣,我想我假设,因为您可以向一个解决方案添加多个程序集,所以这样做肯定是一件好事。我必须少假设,多学习:),谢谢。在我的例子中,它只是我的代码和框架,没有第三方程序集,所以也许我可以重新整合所有东西。