我们的 Web 项目有 3 个常用层:
表示层 ( PL )业务层 ( BLL )数据访问层 (DAL )
我们应该在 BLL 中生成一些 URL,但 URL 帮助程序和 URL 生成功能位于 PL 中。在我们的例子中,我们想生成 URL 并将它们发送到电报机器人。但我相信在其他一些情况下也是必需的。
当 URL 生成功能位于 PL 中时,我们如何以正确的方式在 BLL 中生成 URL?
在 BLL 中定义一个接口 IUrlGenerator(或类似的东西),并将其注入到 BLL 中要使用它的类中。
在 PL 中创建接口 IUrlGenerator 的实现,因为您可以在那里正确实现它。
使用 DI 连接类和接口。