Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Konten ini adalah kutipan dari eBook, Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Kontainer, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.
Gunakan prinsip-prinsip SOLID dan Injeksi Dependensi
Prinsip SOLID adalah teknik penting untuk digunakan dalam aplikasi modern dan penting, seperti mengembangkan layanan mikro dengan pola DDD. SOLID adalah akronim yang mengelompokkan lima prinsip dasar:
Prinsip Tanggung Jawab Tunggal
Prinsip terbuka/tertutup
Prinsip penggantian Liskov
Prinsip Pemisahan Antarmuka
Prinsip Inversi Ketergantungan
SOLID lebih lanjut tentang cara Anda merancang lapisan internal aplikasi atau layanan mikro dan tentang memisahkan dependensi di antaranya. Ini tidak terkait dengan domain, tetapi dengan desain teknis aplikasi. Prinsip akhir, prinsip Inversi Dependensi, memungkinkan Anda untuk memisahkan lapisan infrastruktur dari sisa lapisan, yang memungkinkan implementasi lapisan DDD yang dipisahkan dengan lebih baik.
Dependency Injection (DI) adalah salah satu cara untuk menerapkan prinsip Inversi Dependensi. Ini adalah teknik untuk mencapai kopling longgar antara objek dan dependensinya. Daripada langsung membuat instans kolaborator, atau menggunakan referensi statis (yaitu, menggunakan pernyataan 'new'...), objek yang dibutuhkan oleh kelas untuk menjalankan fungsinya diinjeksi ke dalam kelas. Paling sering, kelas akan menyatakan dependensi mereka melalui konstruktornya, memungkinkan mereka untuk mengikuti prinsip Dependensi Eksplisit. Injeksi Dependensi biasanya didasarkan pada kontainer Inversion of Control (IoC) tertentu. ASP.NET Core menyediakan kontainer IoC bawaan sederhana, tetapi Anda juga dapat menggunakan kontainer IoC favorit Anda, seperti Autofac atau Ninject.
Dengan mengikuti prinsip SOLID, kelas pemrograman Anda akan secara alami menjadi kecil, terstruktur dengan baik, dan mudah diuji. Tetapi bagaimana Anda bisa tahu apakah terlalu banyak dependensi yang disuntikkan ke kelas Anda? Jika Anda menggunakan DI melalui konstruktor, akan mudah untuk mendeteksinya hanya dengan melihat jumlah parameter untuk konstruktor Anda. Jika ada terlalu banyak dependensi, ini umumnya merupakan tanda (bau kode) bahwa kelas Anda mencoba menangani terlalu banyak hal, dan kemungkinan melanggar prinsip Tanggung Jawab Tunggal.
Dibutuhkan panduan lain untuk membahas SOLID secara rinci. Oleh karena itu, panduan ini mengharuskan Anda untuk hanya memiliki pengetahuan minimum tentang topik-topik ini.
Sumber daya tambahan
SOLID: Prinsip OOP Dasar
https://deviq.com/solid/Inversi Kontainer Kontrol dan pola Injeksi Dependensi
https://martinfowler.com/articles/injection.htmlSteve Smith. Hal Baru Adalah Perekat
https://ardalis.com/new-is-glue