iAmNaz / DecouplerKit

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:MIT License


Languages

Language:Swift 97.2%Language:Ruby 2.8%