C# 正在将WPF应用程序拆分为多个dll';s是好还是坏?
以前,作为一个.exe文件,我的WPF应用程序大小为4096KB 现在,我已经像这样将应用程序拆分为多个C# 正在将WPF应用程序拆分为多个dll';s是好还是坏?,c#,.net,wpf,dll,exe,C#,.net,Wpf,Dll,Exe,以前,作为一个.exe文件,我的WPF应用程序大小为4096KB 现在,我已经像这样将应用程序拆分为多个 JIMS.exe Main Application-->103KB JIMSDAL.dll Data Access Layer-->43KB JIMS.Core.dll Core classes for MVVM-->110KB JIMS.Commands.dll MVVM Commands-->11KB JIMS.Con
JIMS.exe Main Application-->103KB
JIMSDAL.dll Data Access Layer-->43KB
JIMS.Core.dll Core classes for MVVM-->110KB
JIMS.Commands.dll MVVM Commands-->11KB
JIMS.Controls.dll WPF UserControls-->25KB
JIMS.Resources.dll Fonts,icons and xaml resources.-->44KB
UtilityClasses.dll Other classes like Helper classes-->10KB
我进一步考虑通过将viewmodels从JIMS.exe中删除到JIMS.ViewModel.dll中,再添加两个dll
现在我的问题是,这是一种将单个EXE写入多个DLL的好方法吗
请让我知道这有什么优点和缺点
我有一些看法,比如,如果有更多的DLL,JIMS.exe将很难使用该应用程序联系到许多DLL。因为对于每个调用,它必须读取相应的DLL
提前感谢。如果您打算在其他项目中独立使用这些DLL,请确保您可以拆分它们,否则会有什么好处?我不确定您的应用程序,但是如果您正在编写一个控件,供其他开发人员使用,或者一个要集成到其他应用程序中的应用程序,那么单独管理DLL可能会成为一项困难的任务。我不太确定你最后的意见。我希望看到社区对它的投入在多个dll中拆分应用程序很好。这使得项目更容易管理,更容易添加/删除功能,更容易使用现有dll编写全新的应用程序。 我认为动态链接更适合应用程序 动态通话的好处
如果你的项目很大(听起来像是4MB exe),我会拆分程序,但如果是小程序,我不会拆分程序。我没有看到提到过,所以我会插手 根据我的经验,在C#中使用这种方法的主要原因是可交换性——以便能够轻松地替换系统的某些部分 举个例子,我们在我当前的项目中使用这种方法。每个GUI组件(或
UserControl
)都是自己的dll,并在启动时动态导入。这使我们能够为我们的GUI实现一个插件体系结构,并允许我们的GUI开发人员在单独的项目中工作,而不必加载所有的逻辑等
我不能告诉你它是“好”还是“坏”——这是你特定目的所需要的。我可以告诉你的是,这不是“错误的”。我在开发应用程序时也采用了类似的方法,但对我来说,主要原因是支持开发应用程序的控制台版本。这样,我可以使用XAML GUI在应用程序中提供简单的一次一个操作,然后使用控制台版本安排更长的运行/维护操作。它们都使用相同的模型层和视图模型层,但“视图”明显不同
对我来说,这感觉像是MVVM的一大好处,特别是如果您将组件分解为单独的项目/库。我们目前正在开发一个针对特定利基市场的大规模应用程序,但我们的许多客户需要定制的小型应用程序,这些应用程序在满足其需求的同时,他们经常使用产品的许多不同功能,这些功能使用单个数据库。因此,我们将Wpf应用程序拆分为许多不同的