代码之家  ›  专栏  ›  技术社区  ›  Tony Lin

如何管理依赖于网络调用和数据库查询的框架?

  •  0
  • Tony Lin  · 技术社区  · 6 年前

    我有一个项目,需要实现一个框架可能与许多其他项目共享,这个框架是关于“订阅”。

    基本上这只会包起来 StoreKit 在iOS中,并与服务器通信,然后可能在数据库中保存某些内容。我在项目中确实有一个数据库堆栈和网络堆栈,但我还没有将它们抽象到框架/库中。

    所以我的问题是,我不太确定实现这一目标的正确方法。我应该先将数据库堆栈和网络堆栈作为两个独立的框架吗?然后创建“订阅”框架?但我也发现这个叫做 umbrella framework 不建议这样做。

    1 回复  |  直到 6 年前
        1
  •  1
  •   James Bucanek    6 年前

    在我看来,有两种方法可以实现这一点。

    选项A/延迟

    将所有可重用类构建到单个框架中。这个框架将包括/编译它所需要的所有支持代码(数据库、网络等)来完成它的工作。

    然后在不同的应用程序项目中共享这个可重用的框架。记住不仅要链接到框架,还要将其嵌入到应用程序中。

    方案B/B

    将每个可重用组件构建到自己的框架中。高级框架将链接到(但不嵌入)低级框架。

    在运行时,每个框架将(应该)根据需要神奇地加载自己。

    这也可能意味着您在所包含的代码方面有更大的灵活性。一个应用程序可能使用客户端注册服务、数据库和服务器连接,而另一个应用程序可能只使用客户端锁定和服务器连接。

    它还可以使维护(特别是如果不同的工程师负责每个服务)和回归测试更容易。

    最后,这里没有正确的答案,只有权衡。