Skip to content

This is Github user search demo app which made by many variety of design patterns. You can compare differences in MVC, MVP, MVVM and Flux.

License

Notifications You must be signed in to change notification settings

yaoxp/iOSDesignPatternSamples

 
 

Repository files navigation

iOSDesignPatternSamples

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 / B MVC MVP MVVM Flux
MVC - diff diff diff
MVP - - diff diff
MVVM - - - diff

You can compare differences like this.

Run

To run this example, you need make install.

In addition, 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 10.1 or later
  • iOS 11 or later
  • Swift 4.2 or later

Special Thanks

Author

marty-suzuki, [email protected]

License

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

About

This is Github user search demo app which made by many variety of design patterns. You can compare differences in MVC, MVP, MVVM and Flux.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 94.8%
  • Ruby 4.9%
  • Makefile 0.3%