Skip to content

Library for enabling loosely coupled and testable code that works with any architecture like MVVM or MVP

License

Notifications You must be signed in to change notification settings

iAmNaz/DecouplerKit

Repository files navigation

DecouplerKit

Update

  • Compatibility with XCode 10 and Swift 4.2

Features

  • Single interface for your user interface and worker classes and controllers
  • Async and sync task friendly
  • Easier to test as it encourages decoupled code and methods are generally functional
  • Uses PromiseKit to properly wrap requests and responses
  • Use cases scenarios are documented as enums
  • Worker classes or controllers are registered in a registry object

It is

  • It makes code decoupling easier with the use of registries and protocol
  • It works with any iOS architecture such as MVVM, MVP, etc

It is NOT

  • A software architecture
  • Enforcing a specific architecture while it is up to the developer to decide which one he will use with this kit

Animated Data Flow

DecouplerKit

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Installation

To install it, simply add the following line to your Podfile. For now since this is a new lib instead of loading it from git you may need to download the lib and reference it via the pod's path on your machine.

pod 'DecouplerKit', :path => 'to Decoupler path/'

TODO

  • Registry object management
  • Multiple registry management
  • MVVM, MVP demo

Author

iAmNaz

License

DecouplerKit is available under the MIT license. See the LICENSE file for more info.

About

Library for enabling loosely coupled and testable code that works with any architecture like MVVM or MVP

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published