测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
版本最近版本 | 2016年12月 |
SwiftSwift 版本 | 3.0 |
SPM支持 Swift Package Manager (SPM) | ✗ |
由以下人员维护:Vlad Alexa,Ben Baggley,James Shaw。
为 iOS 提供的整洁架构。
在 The Distance,我们有许多具有共同功能的项目。共享的实现确保这些功能简洁并保持无错。TheDistanceKit 是包含此可重用代码的总体项目。
ViperKit 是一个框架,它使使用整洁架构编写应用程序变得更容易。
Viper 首次由 Mobile Mutual 开发,并在 http://www.objc.io/issues/13-architecture/viper/ 上进一步详细解释,Viper 是将 整洁架构应用于 iOS 应用的一种应用。
这些文章非常基于理论,并且很好地解释了总体概念。当我第一次尝试将这种架构应用于一个大型商用应用程序时,我遇到了许多在文章和提供的演示代码中未定义或不一致的架构理论应用。
ViperKit 包含用于使用“Viper”架构编写 iOS 应用程序的原型和默认实现。它对架构中每个对象的职责和角色有更严格的定义。
这种严格解释架构的主要好处包括:
UIViewController
功能的可测试性。UIViewController
待定][TBD] 是一系列博客文章,详细解释了如何将此架构应用于各种情况下,内容更加丰富。
ListDataSource
协议,提供了一个干净的 API 用于以科学的方式填充列表。同时提供了基于 CoreData 的实现和基于对象的实现。MappedFetchedResultsController
和 CoreDataMapper
协议被提供,用于在 NSManagedObject
和纯数据之间进行转换,使数据可以干净地在应用程序中传输,而无需考虑与 NSManagedObject
关联的复杂性。