我正在创建一个应用程序,该应用程序将解析MSDN文章以获取元信息,例如文章标题和同一集合中的其他文章。这个程序也有一个GUI前端。
我有兴趣通过将前端与后端和后端分为两部分来使该程序更具模块化,其中一个部分处理HTML文档的检索和常规解析,而另一个则更具体与MSDN本身有关的解析。这样的想法是,这将允许自定义UI放在后端,并使该应用程序能够仅通过插入不同的DLL来解析其他站点(也许是Google搜索结果)。
我的理解是,您通常会创建DLL,以在不同的应用程序之间共享代码。但是,在这种情况下,我只是在为该特定应用程序寻找模块化。在这种情况下创建DLL仍然合适吗?还是我应该考虑其他选择,例如将所有类都整合到一个单独的程序集中?
我应该注意,我是编程的新手,所以即使答案是“否”,这对于我来说也是一个很好的练习。如果是这样,我想知道是否应该以某种方式修改此练习以使其更合适。
最佳答案
我认为您在这种情况下使用DLL的想法是一个好主意。使用DLL没有明显的额外成本(最多可能会增加一些启动成本)。即使您目前仅打算在此一个应用程序中使用它们,仍然为将来的更改进行计划也无济于事。如果需要的话,DLL极有可能在几乎不修改的情况下就可以在另一个应用程序中使用。
此外,将其拆分为单独的DLL以实现模块化甚至可能对设计和开发过程有所帮助。这使“共享”全局数据变得更加困难(这可能是一件好事)。如果所有内容都在一个整体组件中,则可能会有某种趋势,那就是仅从其他位置获取一些数据。如果该数据存在于另一个程序集中,则不太可能发生这种潜在的不良做法。这可能会迫使开发人员重新考虑如何解决问题。