iOSDesignPatternSamples

February 14, 2021 ยท View on GitHub

This is Github user search demo app which made by many variety of design patterns.

Application Structure

  • SearchViewController... Search Github user with query.
  • UserRepositoryViewController... Show repositories of user who selected in SearchViewController.
  • RepositoryViewController... Show a repository which selected in UserRepositoryViewController or FavoriteViewController. In addition, add / remove favorite repositories on memory.
  • FavoriteViewController... Show favorite repositories which stored on memory.

Design Patterns

Difference between A to B

A / BMVCMVPMVVMFlux
MVC-diffdiffdiff
MVP--diffdiff
MVVM---diff

You can compare differences like this.

Run

You need to set Github Personal Access Token like this.

extension ApiSession {
    static let shared: ApiSession = {
        let token = "" // <- Your Github Personal Access Token
        return ApiSession(injectToken: { InjectableToken(token: token) })
    }()
}

Requirements

  • Xcode 12 or later
  • iOS 13 or later
  • Swift 5 or later

Special Thanks

Author

marty-suzuki, s1180183@gmail.com

License

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