All Projects → coderyi → Decouplingkit

coderyi / Decouplingkit

Licence: mit
decoupling between modules in your iOS Project. iOS模块化过程中模块间解耦方案

Projects that are alternatives of or similar to Decouplingkit

Corenavigation
📱📲 Navigate between view controllers with ease. 💫 🔜 More stable version (written in Swift 5) coming soon.
Stars: ✭ 69 (-49.26%)
Mutual labels:  router, cocoapods
Bigkeeper
Efficiency improvement for iOS&Android modular development.
Stars: ✭ 198 (+45.59%)
Mutual labels:  cocoapods, modularization
Ios Modular Architecture
Template iOS application using Modular Architecture
Stars: ✭ 190 (+39.71%)
Mutual labels:  cocoapods, modularization
Android Router
An android componentization protocol framework, used for decoupling complex project. Android高性能轻量级路由框架
Stars: ✭ 208 (+52.94%)
Mutual labels:  router, modularization
FunFacts
FunFacts is an example of Modular architecture
Stars: ✭ 42 (-69.12%)
Mutual labels:  modules, modularization
Component
🔥🔥🔥A powerful componentized framework.一个强大、100% 兼容、支持 AndroidX、支持 Kotlin并且灵活的组件化框架
Stars: ✭ 2,434 (+1689.71%)
Mutual labels:  service, router
Andromeda
Andromeda simplifies local/remote communication for Android modularization
Stars: ✭ 2,203 (+1519.85%)
Mutual labels:  router, modularization
Copper
Copper is a set of Go packages that help you build backend APIs quickly and with less boilerplate.
Stars: ✭ 35 (-74.26%)
Mutual labels:  service, router
Tinypart
TinyPart is an iOS modularization framework implemented by Ojective-C. It also supports URL-routing and inter-module communication. TinyPart是一个由Objective-C编写的面向协议的iOS模块化框架,同时它还支持URL路由和模块间通信机制。
Stars: ✭ 120 (-11.76%)
Mutual labels:  service, router
Propertyfindar
🏘 🎃 Real Estate Sample App with RxJava3+Coroutines Flow, Dynamic Feature Modules, Dagger Hilt, Offline First, ConcatAdapter, Animations and tests for Room, Retrofit, useCase and ViewModels with TDD.
Stars: ✭ 133 (-2.21%)
Mutual labels:  modularization
Cloudinary ios
Cloudinary iOS SDK
Stars: ✭ 133 (-2.21%)
Mutual labels:  cocoapods
Natrium
A pre-build (Swift) script to alter your Xcode project at pre-build-time per environment, build configuration and target.
Stars: ✭ 131 (-3.68%)
Mutual labels:  cocoapods
Coregpx
A library for parsing and creation of GPX location files. Purely Swift.
Stars: ✭ 132 (-2.94%)
Mutual labels:  cocoapods
Poliopager
A flexible TabBarController with search tab like SNKRS.
Stars: ✭ 133 (-2.21%)
Mutual labels:  cocoapods
Phiremock
Phiremock mocks HTTP requests and REST services, allowing to mock external services during acceptance testing.
Stars: ✭ 131 (-3.68%)
Mutual labels:  service
Fluky
🎲 Loading based on random icons
Stars: ✭ 136 (+0%)
Mutual labels:  cocoapods
Pgnetworkhelper
PINCache做为AFNetworking缓存层,将AFNetworking请求的数据缓存起来,支持取消当前网络请求,以及取消所有的网络请求,除了常用的Get,Post方法,也将上传图片以及下载文件进行了封装,同样支持同步请求,使用方法极其简单。
Stars: ✭ 131 (-3.68%)
Mutual labels:  cocoapods
Kala
Modern Job Scheduler
Stars: ✭ 1,736 (+1176.47%)
Mutual labels:  service
Service Contracts
A set of service abstractions extracted out of the Symfony components
Stars: ✭ 1,931 (+1319.85%)
Mutual labels:  service
Ihprogresshud
A clean and lightweight progress HUD based on SVProgressHUD, converted to Swift with the help of Swiftify.
Stars: ✭ 135 (-0.74%)
Mutual labels:  cocoapods

DecouplingKit

Twitter

中文readme

Podfile

	platform :ios, '7.0'
	pod 'DecouplingKit', '~> 0.0.2'

DecouplingKit, decoupling between modules in your iOS Project.

DDKServiceManager, used to load the service list DKService.plist, the service is a business's protocol. DKService.plist includes service and impl, service is protocol, impl is the implementation of the protocol class.

DecouplingKit is based on [BeeHive] (https://github.com/alibaba/BeeHive), Another way to decouple is the runtime, such as [CTMediator] (https://github.com/casatwy/CTMediator), this is a very good program.

Use

Register the default DKService.plist service list

    [[DKServiceManager sharedInstance] registerLocalServices];

Register a list of custom paths for services

    [[DKServiceManager sharedInstance] registerLocalServicesWithServiceConfigName:@"DecouplingKit.bundle/DKService"];

singleton

    id<Bussiness2ServiceProtocol> bussiness2 =[[DKServiceManager sharedInstance] createInstance:@protocol(Bussiness2ServiceProtocol)];
    
    NSDictionary *data =[bussiness2 fetchBussiness2DataWithName:@"DecouplingKit" age:@"1"];

Create a class and then call the corresponding class method

   Class Bussiness2 = [[DKServiceManager sharedInstance] createClass:@protocol(Bussiness2ServiceProtocol)];

    [Bussiness2 callClassMethod];

Create a service protocol for your business class

@protocol Bussiness2ServiceProtocol <DKServiceProtocol>
@property (nonatomic,copy) NSString *name;
- (NSDictionary *)fetchBussiness2DataWithName:(NSString *)name age:(NSString *)age;
+ (void)callClassMethod;

@end

Licenses

All source code is licensed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].