Arsitektur bawang vs 3 arsitektur berlapis

11

Saya hanya melihat manfaat pada arsitektur bawang dibandingkan 3 arsitektur berlapis di mana BL memiliki tanggung jawab untuk memanggil metode pada DAL (atau antarmuka DAL) untuk melakukan CRUD. Bawang memiliki pemisahan yang lebih baik dari kekhawatiran, testability, rawatan dan lebih bersih.

Jadi apakah arsitektur bawang memang lebih baik dalam semua aspek dan 3 arsitektur berlapis hanyalah cara lama dalam melakukan sesuatu, atau ada beberapa skenario di mana saya lebih suka menggunakan arsitektur 3 lapis, jika demikian - yang mana?

BornToCode
sumber

Jawaban:

10

Lapisan, Bawang, Port, Adaptor: semuanya sama

Karena artikel ini memperjelas bahwa bawang setara dengan penerapan 3 lapis + Prinsip Ketergantungan Inversi (DIP), maka pertanyaannya menjadi "di mana saya harus memilih untuk menggunakan DIP?" Saya akan mengatakan proyek non-mainan. Menggunakan DIP memungkinkan inti kode Anda menjadi lebih terisolasi, dapat diuji dan dipelihara. Ketika Anda benar-benar tidak peduli tentang itu adalah ketika itu adalah proyek membuang-buang atau ketika Anda memperdagangkan kemampuan untuk kinerja.

Juga, jangan bingung DIP dengan wadah DI (Dependency Injection). Yang satu tidak menyiratkan yang lain.

Kasey Speakman
sumber