我应该在 WebApi 项目中使用 Bootstrapper class 吗?
Should I use a Bootstrapper class in a WebApi project?
从ASP.Net5开始,我想为我的项目打下基础。截至目前,我创建了 2 个项目。
- 项目 - Startup class.
附带的 WebApi 项目
- Project.Server - 一个包含所有业务逻辑的 dll 项目。
起初我认为我应该在 "Project.Server" 中编写一个 Bootstrapper class 这将允许我隐藏该 dll 的许多部分("Project" 不需要知道), 但后来我发现自己在想我可能正在做一些额外的工作;在 "Project" 的 Startup class 中,我调用了我的许多 Bootstrapper class。
WebApi 项目是否需要这个额外的抽象层?
虽然"Project.Server"目前只在"Project"中被引用,但我还是希望结构是正确的...
不同的人对如何构建您的网络应用程序会有不同的看法。就我个人而言,这是涉及多少工作的问题。如果将业务逻辑分离到一个单独的 DLL 中对您来说相当容易,那就去做吧。尽管现在可能没有任何直接的优势(因为 Project 是 Project.Server 的唯一消费者),但在未来,如果您决定需要另一个业务逻辑消费者,这将容易得多使这项工作。然而,如果创建这个额外的层需要做大量工作,那么我会说这是不值得的,因为你无法真正预测未来会发生什么,所以为什么要花费大量精力来编写一个未知的未来。
从ASP.Net5开始,我想为我的项目打下基础。截至目前,我创建了 2 个项目。
- 项目 - Startup class. 附带的 WebApi 项目
- Project.Server - 一个包含所有业务逻辑的 dll 项目。
起初我认为我应该在 "Project.Server" 中编写一个 Bootstrapper class 这将允许我隐藏该 dll 的许多部分("Project" 不需要知道), 但后来我发现自己在想我可能正在做一些额外的工作;在 "Project" 的 Startup class 中,我调用了我的许多 Bootstrapper class。
WebApi 项目是否需要这个额外的抽象层? 虽然"Project.Server"目前只在"Project"中被引用,但我还是希望结构是正确的...
不同的人对如何构建您的网络应用程序会有不同的看法。就我个人而言,这是涉及多少工作的问题。如果将业务逻辑分离到一个单独的 DLL 中对您来说相当容易,那就去做吧。尽管现在可能没有任何直接的优势(因为 Project 是 Project.Server 的唯一消费者),但在未来,如果您决定需要另一个业务逻辑消费者,这将容易得多使这项工作。然而,如果创建这个额外的层需要做大量工作,那么我会说这是不值得的,因为你无法真正预测未来会发生什么,所以为什么要花费大量精力来编写一个未知的未来。