SNModuleKit
模块化架构依赖库,使重构和团队合作都变得简单。实施模块化可以使项目更适用于团队合作开发,模块间相互独立、互不干扰,并且模块间的耦合度几乎为零。
特性
- 使用 CocoaPods 依赖各个组件和插件
- 可定制
- 可快速启动业务模块开发
- 提供模块项目模板、文件模板和代码片段
目录结构介绍
- SNModuleKit.h:依赖库头文件
- /Config:配置文件
- /Components:组件
- /Controls:可视化控件
- /Plugins:插件
- /Middlewares:中间件
- /Resources:资源文件
使用
导入
#ifndef PrefixHeader_pch
#define PrefixHeader_pch
// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
#import "SNModuleKit.h"
#endif /* PrefixHeader_pch */
资源文件中包含了 SNModuleKit
提供的模块项目模板、文件模板和代码片段。在使用或更新时,只需在终端中运行相关脚本即可。
./Resources
setupCodeSnippets
setupFile
setupProject
模块项目模板使用相对较复杂,尽管创建模块是低频需求。复杂之处在于通过模板创建的模块文件夹是虚拟文件夹,可能需要重命名该模块文件夹的名字。以下以图文形式说明。
-
使用模块中的
Tagret_Action
,需要遵守模块化规范。例如在Tagret_Public
文件中#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface Target_Public : NSObject - (UIViewController *)Action_nativeFetchPublicViewController:(NSDictionary *)params; @end
其中
Target_
和Action_
是硬编码,native
是用来标记为本地调度的硬编码。
缺点
- 模板更新需手动执行脚本
- 模块项目模板需单独创建
安装
Mini版
此版本为精简版本,也就是只有中间件的存在,如果想要定制化你的模块依赖库的话,可以采用它。
pod 'SNModuleKit', '~> 1.0'
Full版
此版本专为开发团队所准备的,这也是新项目开始阶段的最佳选择。兼容Swift。
use_frameworks!
pod 'SNModuleKit'
要求
iOS 8.0 或者更高版本
许可
SNMediatorKit
是根据麻省理工学院的许可证发布的。有关详细信息请参阅LICENSE。