sebuah proyek iOS menggunakan Arsitektur VIP (View Interactor Presenter)
instal template dari clean-swift.com setelah download template tersebut buka directory template di terminal dan make install_templates
untuk instal template, untuk menghasilkan scene
baru : New File
-> iOS
-> Clean Swift
-> Scene
-> Masukkan Nama Scene Anda
-
Fabric
-
Crashlytics
-
Alamofire ( networking )
-
AlamofireImage ( request image from server )
-
ModelMapper ( mapping model )
-
PKHUD ( Loading View )
VIP adalah satu set Xcode Templates untuk menghasilkan komponen Clean Architecture.
ViewController
menerima aktivitas pengguna, membuat objek permintaan, mengirimkannya keInteractor
.- Interactor melakukan beberapa pekerjaan dengan
request
, membangun objek respon, dan mengirimkannya ke presenter. - Presenter memformat data dari
response
, dan membangunview model object
dan mengirimkan keViewController
. ViewController
menampilkan hasil yang ada diViewModel
ke pengguna.
ViewController
berisidisplay logic
- untuk bikin
scene
baru :New File
->iOS
->Clean Swift
->Scene
->Input Scene Name
- Terapkan
UIViewController
atauBase__ViewController
- Terapkan
UITableViewController
,UICollectionViewController
, atauUIWebViewController
jika dibutuhkan - Terapkan
BaseFormViewController
untukscene
berbasis form - Gunakan
xib
, jangan menggunakanstoryboard
.
Interactor
berisiBussiness Logic
- Gunakan
worker
jika dibutuhkan - Menunggu permintaan dari
ViewController
dan mengirimkan respon kepresenter
- Berisi
ViewLogic
- Memformat ulang data dari
interactor
dan mengirimkan keViewController
.
- Gunakan
xib
atauby code
- Jangan menaruh
bussiness logic
disini
- Representasi dari objek dengan propertinya
- Gunakan
ModelMapper
- Mengarahkan ke
scene
berikutnya - Mengirim data ke
ViewController
lain
[Optional] Core
- Assets.xcassets
- LaunchScreen.storyboard
- AppDelegate.swift
Base
Models
Scenes
- YourSceneName
Services
Worker
Nama Group | Deskripsi |
---|---|
Core | File inti dari proyek xcode seperti Assets.xcassets , LaunchScreen.storyboard , AppDelegate.swift |
Base | Kelas dasar, yang berguna untuk meminimalkan kode |
Models | Berisi struktur data yang akan digunakan untuk manajemen data |
Scenes | Berisi VIP Components yang membangun Scene |
Services | Global Helper yang tidak berhubungan dengan logika bisnis |
Worker | Global Helper spesifik untuk logika bisnis |