文件名称:ModularDemo:2015年10月在柏林Cocoaheads会议上举行的演讲的示例代码
文件大小:73KB
文件格式:ZIP
更新时间:2024-05-19 17:15:39
Swift
模块化iOS应用程序架构演示项目 2015年10月在柏林Cocoaheads会议上举行的演讲的示例代码 一个如何使用模块构造iOS应用程序的示例。 在创建模块化系统时,不是创建一个整体的应用程序(其中最小的组件是整个组件),而是单独编写几个较小的模块,以便在组合在一起时可以构建可执行的应用程序。 资料来源: 。 设计决策: 用于将模块与其依赖关系解耦。 服务定位器是全局依赖项,但是只有一个接口。 这使得联轴器不太差并且易于更换。 解决服务依赖关系仅应在init()中完成,从而使其更像依赖关系注入框架那样工作。 配置仅在应用程序启动时完成一次,从而使其在以后不可变,并消除了对锁的需要。 服务保证可用。 服务定位器的配置错误是程序员错误,导致应用程序“”。 依赖关系应形成一个有(无循环),镜像“ ”。 关于结构化依存关系,请参阅“设计信息流”。 关于异步模块化技术,请参阅“
【文件预览】:
ModularDemo-master
----ModularDemo()
--------ModularDemo()
--------ModularDemo.xcodeproj()
----LoggingDecorator()
--------LoggingDecorator()
--------LoggingDecorator.xcodeproj()
----Configuration()
--------Shared.xcconfig(2KB)
--------Debug.xcconfig(475B)
--------Release.xcconfig(397B)
----ModularDemo.xcworkspace()
--------contents.xcworkspacedata(994B)
--------xcshareddata()
----LICENSE.md(1KB)
----.gitignore(100B)
----ZContainer()
--------ExtendedSample.playground()
--------ZContainer.xcodeproj()
--------ZContainer.xcworkspace()
--------ZContainerTests()
--------ZContainer()
--------ZContainer.playground()
--------Sample.playground()
----IPLookupUI()
--------IPLookupUI App()
--------IPLookupUITests()
--------IPLookupUI.xcodeproj()
--------IPLookupUI.xcworkspace()
--------IPLookupUI()
----README.md(2KB)
----IPLookupService()
--------IPLookupServiceTests()
--------IPLookupService.xcworkspace()
--------IPLookupService.xcodeproj()
--------IPLookupService()