.NET

.NET Design Patterns

Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID

24 pertanyaan wawancaraยท
Senior
1

Apa masalah utama pola Singleton dalam .NET modern dengan Dependency Injection?

Jawaban

Pola Singleton klasik (instance statis) bertentangan dengan dependency injection karena menciptakan keterikatan yang erat dan menyulitkan pengujian. Dalam .NET modern, lebih baik menggunakan service lifetime 'Singleton' melalui DI (services.AddSingleton), yang memberikan jaminan instance tunggal yang sama sekaligus memungkinkan injection, mocking, dan testability. Singleton statis melewati container DI dan menciptakan dependensi tersembunyi.

2

Dalam pola Factory Method, apa perbedaan antara Factory Method dan Abstract Factory di .NET?

Jawaban

Factory Method mendefinisikan metode virtual untuk membuat satu jenis objek (mis. CreateLogger), memungkinkan subkelas memutuskan kelas konkret mana yang akan diinstansiasi. Abstract Factory mendefinisikan interface untuk membuat keluarga objek terkait (mis. IUIFactory dengan CreateButton, CreateTextBox), memungkinkan beberapa produk yang koheren dibuat bersama. Factory Method berfokus pada satu produk dengan polimorfisme, sedangkan Abstract Factory mengelola beberapa produk dari keluarga yang sama.

3

Apa keunggulan utama pola Builder di .NET untuk membuat objek kompleks dengan banyak parameter opsional?

Jawaban

Pola Builder menghindari telescoping constructor (banyak overload dengan kombinasi parameter berbeda) dengan menyediakan interface yang fluent untuk membangun objek langkah demi langkah. Ini memungkinkan pembuatan objek kompleks dengan parameter opsional secara mudah dibaca dan dipelihara, tidak seperti konstruktor dengan 10+ parameter. Di C# modern, init properties dan record dapat menggantikan Builder untuk kasus sederhana, tetapi Builder tetap berguna untuk validasi kompleks atau konstruksi multi-langkah.

4

Apa itu Single Responsibility Principle (SRP) dalam SOLID dan bagaimana menerapkannya di .NET?

5

Apa itu prinsip Open/Closed (OCP) dalam SOLID dan bagaimana mengimplementasikannya dengan interface di .NET?

+21 pertanyaan wawancara

Kuasai .NET untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis