【问题标题】:Best practice to share code cross platform跨平台共享代码的最佳实践
【发布时间】:2015-04-11 14:13:11
【问题描述】:

我正在开发一个 N 层架构,以便在 iOS、Android 和 C# ASP.NET MVC 项目上共享尽可能多的代码。

我已经将我的解决方案分成了几层:

  • 接口
  • DAL(实体框架 6 模型/数据库优先)
  • BLL
  • 演示文稿

我已经将我的 BLL 与我的 DAL 分开,所以 BLL 不知道 DAL。它由 PL 注入。那是因为我想分享我的 BLL,因为它在多个平台上都是一样的。这种注入的缺点是我的 PL 需要引用我的 DAL。在这种情况下可能需要,因为 iOS 和 Andriod 不支持 EF 到本地数据库,至少我不知道。

我不确定在这方面走正确的路。另一种方法是创建一些引用我的 BLL 的 web 服务。此解决方案的缺点是需要互联网连接。我宁愿不把它作为这个项目的要求。

目前我在怀疑我是向左还是向右。有没有人有任何提示或知道一些关于这个主题的好文章?

【问题讨论】:

    标签: entity-framework architecture xamarin cross-platform n-tier-architecture


    【解决方案1】:

    听起来您是在手动注入依赖项而不是使用 IoC 容器,这就是表示层在调用 BLL 时需要传递对 DAL 的引用的原因。

    在 IoC 容器中注册您的类型并使用它来实例化 BLL,它会自动注入对 DAL 的引用。这样,只有设置 IoC 容器的引导代码需要知道具体的类型。

    对于您使用的特定 IoC 容器,您有很多选择。我最近将大量现有代码集成到使用 Unity 的移动应用程序中,效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多