文件名称:blindside:Blindside为iOS和OS X上的Objective-C提供了依赖注入功能
文件大小:145KB
文件格式:ZIP
更新时间:2024-05-28 00:05:09
Objective-C
盲目的:Objective-C的依赖注入 我为什么要用这个? Blindside可帮助您编写简洁的代码。 您可以使对象松散耦合,并且不了解外部世界。 您的对象可以创建其他对象,而无需了解其他对象的依赖性。 名字叫什么 这是一个想法,即对象应该对依赖项的起源不了解。 但是,大多数情况下,将类命名为“ BSInjector”,“ BSProvider”等很有趣。 什么,我们是Java吗? 可悲的是。 就该语言提供的对象级依赖关系管理而言,Objective-C和Java完全相同:基本上没有。 全局变量,“ sharedInstance”单例和传递参数是用于访问依赖项的常见模式。 没有一个是好的选择。 Guice为Java带来了优雅的对象依赖管理,从而消除了对静态数据的需求,并兑现了真正的OO编程的承诺。 Blindside试图为Objective-C做同样的事情。 它有什么功能? 注入
【文件预览】:
blindside-master
----.gitignore(47B)
----doxygen.config(71KB)
----Blindside.xcodeproj()
--------jbs.mode1v3(47KB)
--------xcshareddata()
--------jbs.pbxuser(5KB)
--------project.pbxproj(117KB)
----Headers()
--------Public()
--------Private()
----LICENSE(1KB)
----doc()
--------html()
--------latex()
----Specs()
--------BSInjectorSpec.mm(17KB)
--------main.mm(94B)
--------Fixtures.h(4KB)
--------BSPropertySpec.mm(3KB)
--------BSPropertySetSpec.mm(397B)
--------BSInjectorSwiftSpec.mm(4KB)
--------BSInitializerSpec.mm(2KB)
--------Specs-Bridging-Header.h(104B)
--------SwiftFixtures.swift(2KB)
--------Fixtures.m(7KB)
----.gitmodules(98B)
----README.markdown(7KB)
----Blindside-Info.plist(806B)
----Blindside-iOS BuildTest()
--------main.m(159B)
--------Info.plist(1KB)
--------AppDelegate.m(603B)
----Blindside.podspec(685B)
----Externals()
--------Cedar()
----Blindside-watchOS BuildTest()
--------ExtensionDelegate.m(481B)
--------App-Info.plist(1KB)
--------Extension-Info.plist(1KB)
--------Interface.storyboard(756B)
----Source()
--------BSInstanceProvider.m(568B)
--------NSObject+BlindsidePrivate.m(408B)
--------BSInitializerProvider.m(3KB)
--------BSSingleton.m(655B)
--------NSObject+Blindside.m(1KB)
--------BSInjectorImpl.m(7KB)
--------BSClassProvider.m(592B)
--------Blindside.m(501B)
--------BSBlockProvider.m(684B)
--------BSNull.m(238B)
--------BSPropertySet.m(3KB)
--------BSInitializer.m(5KB)
--------BSProperty.m(7KB)
----Rakefile(5KB)
----Blindside-tvOS BuildTest()
--------Info.plist(858B)
----Blindside-Framework.xcconfig(239B)