Architecture Partitioning

Architecture Partitioning

Architecture Partitioning

Selain dilihat secara klasifikasi monolithic atau distributed, software architecture juga bisa dilihat secara struktur partisinya.

Software architecture baik itu monolithic atau distributed, secara partisi bisa dibagi berdasarkan teknis atau domain.

Partisi secara struktur bisa digunakan di monolithic atau distributed.

Technical Partitioning

Arsitektur Technical Partitioning membagi komponen-komponen dalam system atau aplikasi secara teknis.

Contoh arsitektur klasik yang sering digunakan adalah Layered (N-Tier) Architecture.

Dalam Technical Partitioning, komponen dalam system dikelompokan secara teknis, misal :

  • Presentation Layer merupakan komponen yang menangani user interface
  • Business Layer, merupakan komponen yang menangani logika dan aturan bisnis
  • Persistence Layer, merupakan komponen yang menangani interaksi dengan sistem basis data
  • Database Layer, merupakan komponen untuk menyimpan data
Technical Partitioning

Domain Partitioning

Berbeda dengan Technical Partitioning, dalam Domain Partitioning, pembagian struktur komponen dalam system dikelompokan berdasarkan Domain / Fitur / Departemen secara bisnis nya.

Artinya semua Technical Partitioning seperti Presentation, Business Logic, Persistence, digabung dalam per domain system.

Partisi system berdasarkan Domain, populer sejak dikenalkan dalam buku berjudul “Domain Driven Design” karya Eric Evans.

Domain Partitioning

Pilih yang Mana?

Technical ataupun Domain Partitioning memiliki kelebihan dan kekurangan, namun secara pribadi saya rekomendasikan gunakan :

  • Technical Partitioning ketika aplikasi yang akan dibuat sederhana dan tidak kompleks. Selain itu ketika jumlah anggota tim pengembang tidak terlalu banyak.
  • Domain Partitioning ketika aplikasi yang akan dibuat kompleks dan fitur aplikasi sangat banyak.
  • Dan sangat cocok ketika anggota tim pengembang banyak pembagian tim berdasarkan jenis domain nya.
Next Post Previous Post
No Comment
Add Comment
comment url