台风 4.0.9

Typhoon 4.0.9

测试已测试
Lang语言 Obj-CObjective C
许可证 NOASSERTION
发布上次发布2020年7月

Jasper BluesAleksey Garbarev 维护。



Typhoon 4.0.9

  • Jasper Blues, Aleksey Garbarev, Robert Gilliam, Daniel Rodríguez, Erik Sundin 及贡献者共同编写。

Typhoon

Typhoon

为 Cocoa 和 CocoaTouch 提供强大的依赖注入。轻量级,但功能齐全且使用超级简单。

不熟悉依赖注入?

请访问 Typhoon 网站 获取介绍。Big Nerd Ranch 也有一个不错的介绍 Big Nerd Ranch,或者 这里有一篇文章,由 John Reid 撰写。关于这个主题已经有了一些书籍,尽管我们还没有了解到专注于 Objective-C、Swift 或 Cocoa 的书籍。

Typhoon 是否是适合您的 DI 框架?

请查看 特性列表

寻找纯粹的Swift解决方案?

Typhoon使用Objective-C运行时来收集元数据和实例化对象。它为成千上万的Objective-C应用程序供电,并且对于Swift来说也非常受欢迎。尽管如此,使用纯粹的Swift库也有一些优势。

  • Weaver是一个好的Swift编译时依赖注入库。
  • Fiery Crucible也是一个出色的轻量级(只有一个文件)且非常简单的Swift依赖注入库。

上面提到的这两种解决方案都有'ObjectGraph'作用域(你可以在文档中了解更多关于它的内容),它提供了一种从蓝图组装复杂对象图的方法,然后根据需要保留它。此作用域由Typhoon引入,对于移动和桌面应用程序是一个重要的考虑因素。此外,范围管理是手动简单应用依赖注入模式的主要优势之一。

请三思而后行,选择一个强制你编写复杂适配器、修改代码或紧密耦合到库的依赖注入库。它不应该是了解和应用模式而没有支持框架的情况下更复杂。


使用方法

let assembly = MyAssembly().activated()
let viewController = assembly.recommendationController() as! RecommendationController

开源示例应用程序

你有愿意分享的Typhoon示例应用程序吗?太好了!请联系我们:)

安装

Build Status codecov CocoaPods Version Pod Platform Carthage compatible Dependency Status Pod License

Typhoon可以通过CocoaPodsCarthage获取,并且也可以轻松从源代码构建。

使用 CocoaPods...

静态库

# platform *must* be at least 5.0
platform :ios, '5.0'

target :MyAppTarget, :exclusive => true do

pod 'Typhoon'

end

动态框架

如果你使用 Swift,你可能想安装动态框架,可以使用下面的 Podfile 完成

# platform *must* be at least 8.0
platform :ios, '8.0'

# flag makes all dependencies build as frameworks
use_frameworks!

# framework dependencies
pod 'Typhoon'

只需将 Typhoon 模块导入到任何使用该框架的 Swift 文件中

import Typhoon

使用 Carthage

github "appsquickly/Typhoon"

从源码

另一种方法是,将源文件添加到你的项目目标中或设置 Xcode 工作区。

注意: 所有版本的 Typhoon 都支持 iOS5 及以上(以及 OSX 10.7 及以上),如果你想使用动态框架,则需要 iOS8。


反馈

我不确定如何做 [xyz]

如果在上述的快速入门或用户指南中找不到您需要的内容,Typhoon用户和贡献者会关注Stack Overflow上的Typhoon标签。您的问题很可能在那里得到解答。

我发现了一个bug,或者有一个功能请求

请在GitHub issue中提出。

有兴趣参与贡献吗?

太好了!这里是对贡献指南。

我惊呆了!

Typhoon是一个非营利性的、由社区驱动的项目。我们只希望如果您觉得它有用,在Github上为我们点亮星标或者在推文中提及我们(@appsquickly)。如果您编写了有关Typhoon的博客或教程,或者发布了由Typhoon支持的新应用,我们也非常愿意了解这些信息。

Typhoon由AppsQuick.ly资助并领导,来自世界各地的贡献者为Typhoon做出了贡献


© 2012 - 2015 Jasper Blues, Aleksey Garbarev和贡献者。