Skip to content

VIP design pattern (Clean Swift) - templates, supporting Dependency Injection

Notifications You must be signed in to change notification settings

pvbaleeirops/VIP_Design_Xcode_Template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

VIP Xcode Templates

VIP design pattern (Clean Architecture by Uncle Bob)

To learn more about Clean Swift, please read:

http://clean-swift.com/clean-swift-ios-architecture

VIP

Table of Contents

  1. Installation
  2. Problems, Suggestions, Pull Requests?

Installation

  • Download the repository and use the following commands:

Install Templates

  • To install the templates, use the terminal and go to "VIPSwift" Folder (where the "Makefile" script is) and run the following command:
make install_templates

Uninstall Templates

  • To uninstall the templates, use the terminal and go to "VIPSwift" Folder (where the "Makefile" script is) and run the following command:
make uninstall_templates

How To

  • Once installed you should be able to see 2 more templates inside Xcode:

Screenshot 2019-12-16 at 16 54 24

Scene Template

SceneTemplate

  • Set a scene name and it should generate all the needed files: ViewController, Interactor, Presenter, Router, View and Model

  • Additions: With or without Dependecy Injection

Screenshot 2019-12-16 at 17 30 58

  • Factory Dependency Injection will add 1 more file (SceneName)Factorable, and the entire implementation will support Factory Dependecy Injection pattern

  • For more details about the implementation or how can you Unit Tests the app, please check the sample project inside repository SampleVIPSwift/SampleVIPSwift.xcodeproj

Unit Tests Template

  • Will create 4 Unit Test files, representing tests for each component: ViewController, Interactor, Presenter, Router

UnitTestsTemplate

Problems, Suggestions, Pull Requests?

Please open a New Issue Here if you run into a problem specific to those templates, have a feature request, find a better implementation, or want to share a comment.

Pull requests are encouraged and greatly appreciated! Please try to maintain consistency with the existing code style. If you're considering taking on significant changes or additions to the project, please communicate in advance by opening a new Issue. This allows everyone to get onboard with upcoming changes, ensures that changes align with the project's design philosophy, and avoids duplicated work.

About

VIP design pattern (Clean Swift) - templates, supporting Dependency Injection

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 98.0%
  • Makefile 2.0%