我应该为模块化创建DLL吗?

Leo*_*ieu 8 c# dll modularity

我正在创建一个应用程序来解析MSDN文章中的元信息,例如文章标题和同一集合中的其他文章.这个应用程序还有一个GUI前端.

我有兴趣通过将前端与后端和后端分成两部分来使这个程序更加模块化 - 一个用于处理HTML文档的检索和一般解析,另一个用于更具体的解析解析与MSDN本身有关.这个想法是,这将允许自定义UI被打到后端,并允许应用程序只需通过插入不同的DLL来解析其他站点(可能是谷歌搜索结果).

我的理解是,您通常会创建DLL以跨不同的应用程序共享代码.但是,在这种情况下,我只是在寻找这个特定应用程序的模块化.在这种情况下创建DLL仍然合适吗?或者我应该考虑一个不同的选项,例如将所有类组合成一个组件?

我应该注意到我对编程比较陌生,所以即使答案是"不",那么这对我来说仍然是一个很好的练习.如果是这种情况,我想知道是否应该修改此练习以使其更合适.

Mar*_*ins 7

我认为你在这种情况下使用DLL的想法是个好主意.使用DLL没有明显的额外成本(最多可能需要更多的启动成本).即使您目前只计划在这个应用程序中使用它们,仍然计划未来的更改也没有什么坏处.如果需要,DLL很可能在很少或没有修改的情况下在另一个应用程序中使用.

此外,将其拆分为单独的DLL以实现模块化甚至可能有助于设计和开发过程.它使"共享"全球数据变得更加困难(这可能是一件好事).如果所有内容都在一个整体组件中,那么可能有一些趋势只是从其他地方获取一些数据.如果该数据存在于另一个程序集中,那么这种可能不好的做法就不太可能发生.它可能会迫使开发人员重新思考如何解决问题.