【发布时间】:2016-11-30 17:56:46
【问题描述】:
如果我有一个结构和一些处理该结构的数组的代码,那么该代码的放置位置在哪里?
struct Thing {
var id : String
let type : ThingType
}
things:[Thing]?
我有代码可以从返回100 Thing 数组的服务器检索值。代码应该去哪里?
我目前已将其定义为 Struct 的静态函数,但如果有约定,我想遵循约定。
【问题讨论】:
-
这完全取决于“过程”的含义。
-
怎么样,@AlexanderMomchliov,例如我给出的关于服务器调用返回 [Thing] 的示例
-
一般来说,执行服务器通信的代码应该与你的结构所代表的数据传输对象(DTO)分开。
-
那肯定不应该是
Thing的成员。最好创建一个声明函数的新协议,并有一个新的符合要求的结构/类来实现它。这样,您只需更换您使用的具体提供程序类即可更改您使用的提供程序(Firebase、Parse、SQLite、CoreData、JSON、CSV 等) -
这还有一个好处是它允许您对提供程序进行模拟实现,这使您可以拥有独立于生产后端工作的单元测试。