Belajar iOS体系结构设计:VIP — Clean Swift

Dan Hari ini saya belajar建筑设计iOS应用程序。

Desain Asitektur yang biasa digunakan oleh pengembang pemula dalam pengembangan aplikasi iOS adalah MVC(模型-视图-控制器)。 MVC memang bagus dan mudah diterapkan secara cepat namun bukan yang terbaik untuk desain arsitektur pengembangan aplikasi。 Salah satu alasannya adalah MVC tidak menyediakan ketahanan yang saat terjadi bug。 Pengembang bisa saja terus menerus berputar di dalam kode yang bertumpuk-tumpuk di Controller。 Atau Mungkin juga bisa di模型bahkan di视图。 Dan Saat penambahan fitur baru,MVC膜,pekerjaan kita,menjadi lebih,sulit karena melibatkan重构yang tidak ada habis。

Maka ditawarkanlah VIP-Atau lebih dikenal dengan nama Clean Swift和MVC。 VIP merupakan kepanjangan dari View-Interactor-Presenter dimana merupakan alur yang dilewati saat segala sesuatu yang berhubungan dengan业务逻辑terjadi。

Secara ringkas,VIP服务提供商,业务逻辑服务供应商。 VIP memisahkan tujuan-tujuannya dalam kelas-kelas spesifik yang terpisah。 Contohnya dalam aplikasi permintaan jasa,maka saat pengguna membuat permintaan baru maka dengan VIP dibuatlah tiga kelas utama yaitu BuatPermintaanBaruViewController,BuatPermintaanBaruInteractor,BuatPermintaanBaruPresenter。

乌鲁坦(Urutan)达赖VIP达拉(Adalah Sebagai)

节目Akan menampilkan sebuah umpan balik berupa string哈罗Hallo {nama}, bagaimana kabarmu? kelayar setelah用户memasukkan nama ke dalam文本字段lalu

  1. 查看控制器
  • 用户memasukkan nama ke dalam文本字段。
  • 用户menekan tombol tampilkan hasil
  • @IBAction untuk tombol tampilkan hasil mengambil文本字符串dalam文本字段dan mengirimnya ke交互者untuk diolah(业务逻辑) interactor.lakukanPengolahanInput(string:)

2.互动者

  • Memeriksa apakah字符串yang dikirimkan oleh View Controller merupakan字符串kosong atau memiliki nilai?
  • Jika String Kosong Maka Memanggil presenter.tampilkanPeringatanStringKosong() .tampilkanPeringatanStringKosong presenter.tampilkanPeringatanStringKosong()
  • Jika String Memiliki Nilai Yang Disepakati Maka Memanggil presenter.tampikanSalam(nama:)

3.主持人

  • 演示者tampilkanPeringatanStringKosong()日语视图viewController.updateLabel(string:) dengan parameternya sendiri“ Maaf anda perlu mengisikan nama terlebih dahulu”
  • 演示者tampilkanSalam(nama:) juga akan memanggil viewController.updateLabel(string:) dan mengisikan参数“ Halo nama ,bagaimana kabarmu?”

Dalam aplikasi待办事项yang umum,jika menggunakan VIP,kode yang berhubungan dengan业务逻辑akan di kerjakan di互动者和di di update bagaimana hasil di tampilkan melalui演示者。 Dimana视图bekerja? 查看hanya bertugas menerima输入的dari用户dan menampilkan hasil tanpa harus mengutak-atik业务logicnya。

Perbandingan dengan MVC,jika kode untuk viewController.updateLabel(string:) dijalankan di @IBAction menampilkan hasil secara langsung,maka dalam VIP kode tersebut akan melakukannya dengan mekanisme V iew lalu I nactactor lalu Pentent。

术语Clean Swift

Penggunaan nama Clean Swift itu sendiri。

干净的Swift yang merupakan Implementasi dari干净的建筑ditujukan琼脂pengembang dalam menjaga arah pengembangan menjadi lebih mudah dalam pemeliharaan,daur ulang kode(tidak seperti MVC yang membuat kode satu sama lain saling bertumpuk-upu-upu-upan-kan) besaran pada kode yang sudah ada yang rawan错误。 让代码保持干净!

Untuk penjelasan lengkap beserta教程resmi,Clean Swift telah meyediakannya untuk anda。