Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

Notifications You must be signed in to change notification settings

coderyi/DecouplingKit

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /