Tur Mini ASP.NET 5 : Bagian 4 – Dependency Injection

Istilah dependency injection (DI) seharusnya sudah bukan sesuatu yang asing bagi programmer. Di jaman web framework yang bertebaran ini, kemampuan untuk melakukan dependency injection sudah didukung langsung oleh framework yang bersangkutan tanpa harus menggunakan sebuah library tambahan.

ASP.NET 5 Mini Tour

Tidak mau ketinggalan, ASP.NET 5 sekarang sudah mendukung DI dari sananya. Jadi kalau kemarin kita menggunakan Unity atau Ninject untuk DI, mulai saat ini bisa menggunakan bawaan dari ASP.NET.

Tulisan ini merupakan bagian dari tulisan berseri yang terdiri dari beberapa artikel di bawah
1. Memulai
2. Startup
3. MVC 6
4. Dependency Injection (Tulisan ini)
5. Web API
6. Entity Framework 7 (Coming soon)

Dependency Injection di ASP.NET 5

Kita kembali ke controller yang telah kita sama-sama buat di tulisan Bagian 3 – MVC 6.

Controller di atas belum menerapkan DI untuk meng-inject repository ke dalam controller (lihat baris nomor 3). Mari sama-sama kita lakukan DI-isasi 😀

Untuk menerapkan DI kita perlu membuat interface untuk kelas yang akan di-inject. Maka langkah pertama adalah membuat interface IStudentRepository

Berikutnya implementasi dari interface di atas. Karena kita sudah membuat StudentRepository terlebih dahulu dibandingkan dengan interfacenya maka kita tinggal ubah saja kelas StudentRepository menjadi seperti di bawah untuk mengimplementasi interface.

Di controller mari kita gunakan constructor injection untuk melakukan injeksi. Ubah kode pada controller menjadi seperti berikut

Sampai langkah ini kalau controller dijalankan makan terkena exception karena kita belum benar-benar melakukan injeksi. Yang kita lakukan barusan hanyalah membuka jalan untuk menginjeksi.

Sudah pernah saya sampaikan pada tulisan Bagian 2 – Startup, bahwa untuk menambahkan service ke dalam DI container maka kita perlu melakukannya pada method ConfigureServices di file Startup.cs.

AddTransient digunakan jika ingin menginjeksi kelas yang diinstantiasi tiap kali digunakan.

AddSingleton digunakan jika ingin menginjeksi kelas yang diinstantiasi satu kali dan bersifat singleton.

Sampai jumpa pada artikel lanjutan dari seri ASP.NET 5. Semoga tulisan ini bermanfaat

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

Leave a Reply

Your email address will not be published. Required fields are marked *