# .NET Design Patterns (.NET) > Singleton, Factory, Builder, Strategy, Decorator, Repository, Unit of Work, SOLID - 24 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: .NET](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara.md) ## 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. ## 21 pertanyaan lagi tersedia - Apa itu Single Responsibility Principle (SRP) dalam SOLID dan bagaimana menerapkannya di .NET? - Apa itu prinsip Open/Closed (OCP) dalam SOLID dan bagaimana mengimplementasikannya dengan interface di .NET? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara .NET lainnya - [Dasar-Dasar C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-basics.md): 25 pertanyaan, Junior - [LINQ & Delegates](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-linq-delegates.md): 20 pertanyaan, Junior - [Esensi Bahasa C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup Request ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-request-lifecycle.md): 20 pertanyaan, Junior - [Configuration & Settings](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/configuration-settings.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/application-lifecycle.md): 20 pertanyaan, Junior - [Dependency Injection](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Entity Framework Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/entity-framework-core.md): 25 pertanyaan, Mid-Level - [Minimal APIs](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/minimal-apis.md): 18 pertanyaan, Mid-Level - [Pengembangan Web API](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/web-api-development.md): 22 pertanyaan, Mid-Level - [Async di ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-aspnet-core.md): 20 pertanyaan, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/authentication-authorization.md): 18 pertanyaan, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/httpclient-networking.md): 20 pertanyaan, Mid-Level - [Serialisasi JSON](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/json-serialization.md): 20 pertanyaan, Mid-Level - [Entity Framework Core Tingkat Lanjut](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/ef-core-advanced.md): 25 pertanyaan, Mid-Level - [Fitur Lanjutan C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-advanced-features.md): 20 pertanyaan, Mid-Level - [Clean Architecture](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/clean-architecture.md): 20 pertanyaan, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/logging-monitoring.md): 22 pertanyaan, Mid-Level - [Unit Testing & xUnit](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/unit-testing-xunit.md): 20 pertanyaan, Mid-Level - [Pengujian Integrasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/integration-testing.md): 18 pertanyaan, Mid-Level - [Docker & Containerization](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/docker-containerization.md): 16 pertanyaan, Mid-Level - [Manajemen Paket NuGet](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/nuget-package-management.md): 16 pertanyaan, Mid-Level - [Memory Management & GC](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/memory-management-gc.md): 22 pertanyaan, Senior - [Pemrograman reaktif](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/reactive-programming.md): 24 pertanyaan, Senior - [Async/await & Pola](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-await-patterns.md): 26 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan & Best Practices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/security-best-practices.md): 24 pertanyaan, Senior - [SignalR & Real-time](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/signalr-realtime.md): 22 pertanyaan, Senior - [Arsitektur Microservices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/microservices-architecture.md): 25 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dotnet-design-patterns