如何管理依赖于网络调用和数据库查询的框架?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何管理依赖于网络调用和数据库查询的框架?相关的知识,希望对你有一定的参考价值。
我有一个项目需要实现一个可能与许多其他项目共享的框架,这个框架是关于“订阅”的。
基本上这个人做的是在ios中包装StoreKit
并与我们的服务器对话,然后可能在数据库中保存一些东西。我在项目中有一个数据库堆栈和网络堆栈,但我还没有将它们抽象到框架/库中。
所以我的问题是,我不太确定实现这一目标的正确方法。我应该首先将我的数据库堆栈和网络堆栈作为2个独立的框架吗?然后通过将它们包含在内来创建“订阅”框架?但我也发现这被称为umbrella framework
,不推荐。
有什么建议?
在我看来,有两种方法来设计它。
选项A /懒惰
将所有可重用的类构建到单个框架中。该框架将包括/编译它需要的所有支持代码(数据库,网络,......)来完成它的工作。
然后在您的各种应用程序项目中共享该可重用框架。请记住,不仅要链接到框架,还要将其嵌入到您的应用中。
这是最简单的设置,设计和维护(针对单个人)。然而,这也意味着创建一个可能过于宽泛和/或隐藏太多底层技术的单片库。
选项B /热情
将每个可重用组件构建到自己的框架中。高级框架将链接到(但不嵌入)低级框架。
然后,您的应用程序项目将链接并嵌入所需的所有框架。
在运行时,每个框架将(应该)根据需要神奇地加载自身。
这是一项更多的工作,但有一些优点。每个主要服务都有自己的I / F,因此您的应用程序可以直接使用组件,而无需“钻取”定义您的自定义服务的高级框架。
它也可能意味着您在包含的代码中具有更大的灵活性。一个应用程序可能使用客户端注册服务,数据库和服务器连接,而第二个应用程序可能只使用客户端锁定和服务器。
它也可能使维护(特别是如果不同的工程师负责每项服务)和回归测试更容易。
最后,这里没有正确的答案,只是权衡。
以上是关于如何管理依赖于网络调用和数据库查询的框架?的主要内容,如果未能解决你的问题,请参考以下文章