【发布时间】:2015-04-28 15:49:24
【问题描述】:
我正在尝试设计和实现一个与服务器通信的框架(它是一个用 Swift 编写的 iOS 框架)。我面临的挑战是架构 - 有两种与服务器通信的方式,我必须同时实现这两种方式(不同的版本)。我真的很想实现拥有一个无状态客户端,方法如下:Client.authenticate() 或Client.downloadFile()。问题是当有两个实现时,我最终会在我的 Client 类中使用如下方法:
public class func authenticate(state: state) {
if (state.type == 1) {
Client1.authenticate(state)
} else {
Client2.authenticate(state)
}
}
对每一种方法都重复...
我希望最初保持客户端像这样 - 无状态和静态,并且只有状态对象保存实际状态,因为可能有许多连接到具有各种状态的服务器。通过这种方式,我想避免将客户端作为一个对象,同时保持状态并执行对服务器的调用。问题是这种方法只是......我猜很脏。什么是更干、更易读和更可持续的方式?
【问题讨论】:
标签: ios swift architecture frameworks