VIPER #とは
● iOS アプリにおいて提唱されたアーキテクチャ
○ https://cheesecakelabs.com/blog/ios-project-architecture-using-viper/
● View, Interactor, Presenter, Entity, Routing をレイヤーとして分離
○ 社内では1組のセットを Scene(シーン) と呼んでいます
○ ほどんどの場合 1画面 <-> 1VIPER Scene
● VIPER の各レイヤーを Contract (契約)として定義
● Interactor から先を更にレイヤー分離
○ クックパッドアプリでは複数レイヤーが存在するが今回は DataSource のみ
○ DataSource: データを取得する層 (DB, サーバ)