我想设计我的快速应用程序使用干净的架构。
我已经阅读了下面关于干净架构的链接。
http://clean-swift.com/blog/
我已经使用这些模板来创建应用程序。
我想问一下,这是否是最好的架构,因为我想使用Rx-Swift编写代码。
此外,我希望有人能指出几个工作的例子,清洁的架构,反应敏捷。
是使用Bob叔叔的http://clean-swift.com/blog/清洁架构作为RxSwift的最佳实践,还是我应该使用MVVM架构?
任何帮助都将不胜感激。谢谢。
发布于 2016-10-26 10:34:51
嗨,我用的是rxswift最近的项目
在我的例子中,我在配置文件场景中使用它们,特别是看起来像instagram。

剖面场景用例
问题是,用户可以迅速改变帖子的分类
上一次获取的帖子应该与选定的类别不同:(
所有事件导致事件异步发生
所以我用rxswift
在Interactor中有profileWorker(用于获取配置文件和类别的post计数)、postWorke(用于获取帖子)
并创建三种类似于PublishSubject - rxCategory - rxProfile - rxPosts的
步骤如下
Interactor订阅rxCategory
ViewController请求类别更改为Interactor
Interactor原因事件rxCategory.on(Event<Category>.next(category))
使用Interactor的flatMapLatest请求发布,并将所选类别设置为postsWorker
rxCategory.asObservable().flatMapLatest{ (category) -> Observable<[Posts]> in
return self.postsWorker.rxFetchPosts(requestModel, category: category)
}.subscribe { (event) in
if let posts = event.element {
self.updatePosts(posts)
}
}
}PostsWorker请求Observable<[Posts]>到PostService (请求服务器使用Alamofire和SwiftyJSON)
然后PostService返回Observable<Posts>,然后工人返回到interactor
Interactor订阅PostsWorker的可观察的和更新的帖子,这导致了rxPosts事件的发生。
Interactor使用combineLatest订阅rxProfile和rxPosts
和请求提交对Presentor的联合响应
Observable.combineLatest(rxProfile, rxPosts) { (e1, e2) -> ProfileResponse in
return ProfileResponse(profile: e1, posts: e2)
}.subscribe { (event: Event<ProfileResponse>) in
self.output.presentProfile(event.element!)
}
}这是我的示例,使用的是rxswift +干净的快速体系结构。
在这种情况下,如果用户点击FOOD类别和工作人员获取许多帖子
用户点击PLACE类别并获取小的帖子,然后有时
虽然用户点击人员类别。在人们的岗位之后获得食品岗位
因此,我使用flatMapLatest ReativeX - FlatMapLatest来正确地匹配选定的类别。
这可以获取并呈现给Presentor最新类别的帖子
众所周知,在MVVM体系结构中很有用。
但我认为这取决于你如何使用它们
(谢谢各位阅读:)
https://stackoverflow.com/questions/40259211
复制相似问题