# Design Pattern Django (Django) > Repository pattern, Service layer, Factory pattern, Strategy pattern, prinsip SOLID, clean architecture - 24 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara.md) ## 1. Apa tujuan utama dari pola Service Layer dalam aplikasi Django? **Jawaban** Pola Service Layer mengenkapsulasi logika bisnis dalam lapisan khusus yang terpisah dari view dan model. Pemisahan ini meningkatkan testabilitas karena logika dapat diuji secara independen, mempermudah penggunaan ulang kode di berbagai view atau command, dan menjaga view tetap ramping dengan mendelegasikan operasi kompleks ke service. Hal ini menghormati Single Responsibility Principle (SRP). ## 2. Apa yang diabstraksikan oleh Repository Pattern dalam aplikasi Django? **Jawaban** Repository Pattern menyediakan abstraksi antara lapisan bisnis dan lapisan akses data. Pola ini mengenkapsulasi kueri ORM Django dalam metode eksplisit, sehingga sumber data dapat diubah dengan mudah tanpa memodifikasi logika bisnis. Hal ini juga mempermudah unit testing dengan memungkinkan mocking repository alih-alih database yang sebenarnya. ## 3. Prinsip SOLID mana yang dilanggar ketika sebuah view Django berisi validasi, logika bisnis, dan pengiriman email sekaligus? **Jawaban** Single Responsibility Principle (SRP) menyatakan bahwa sebuah kelas atau fungsi seharusnya hanya memiliki satu alasan untuk berubah. Sebuah view yang menangani validasi, logika bisnis, dan pengiriman email memiliki setidaknya tiga tanggung jawab yang berbeda. Setiap perubahan pada salah satu area ini akan mengharuskan modifikasi view, membuat kode rapuh dan sulit dipelihara. ## 21 pertanyaan lagi tersedia - Bagaimana Factory Pattern biasanya digunakan dalam aplikasi Django? - Apa keuntungan utama dari Strategy Pattern untuk mengimplementasikan berbagai metode pembayaran di Django? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Django lainnya - [Dasar-Dasar Python](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/python-basics.md): 25 pertanyaan, Junior - [Python berorientasi objek](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/python-oop.md): 20 pertanyaan, Junior - [Dasar-Dasar Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-fundamentals.md): 20 pertanyaan, Junior - [Models Django - Dasar](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-models-basics.md): 22 pertanyaan, Junior - [Django Views](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-views.md): 20 pertanyaan, Junior - [Template Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-templates.md): 18 pertanyaan, Junior - [Formulir Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-forms.md): 22 pertanyaan, Mid-Level - [QuerySets Lanjutan](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-querysets.md): 25 pertanyaan, Mid-Level - [Autentikasi Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-authentication.md): 22 pertanyaan, Mid-Level - [Middleware Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-middleware.md): 18 pertanyaan, Mid-Level - [Django Admin](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-admin.md): 20 pertanyaan, Mid-Level - [Django REST Framework](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-rest-framework.md): 30 pertanyaan, Mid-Level - [Sinyal Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-signals.md): 18 pertanyaan, Mid-Level - [Unggah File](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-file-upload.md): 20 pertanyaan, Mid-Level - [Caching Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-caching.md): 20 pertanyaan, Mid-Level - [Session Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-sessions.md): 18 pertanyaan, Mid-Level - [Email Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-email.md): 18 pertanyaan, Mid-Level - [Testing Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-testing.md): 22 pertanyaan, Mid-Level - [Keamanan Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-security.md): 22 pertanyaan, Mid-Level - [Deployment Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-deployment.md): 24 pertanyaan, Mid-Level - [Django ORM Lanjutan](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-orm-advanced.md): 28 pertanyaan, Senior - [Performa Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-performance.md): 24 pertanyaan, Senior - [Django & Celery](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-celery.md): 22 pertanyaan, Senior - [Django Channels](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-channels.md): 24 pertanyaan, Senior - [Django & GraphQL](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-graphql.md): 24 pertanyaan, Senior - [Django & Docker](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-docker.md): 20 pertanyaan, Senior - [Django dalam ekosistem microservices](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-microservices.md): 24 pertanyaan, Senior - [Perintah Django Kustom](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-custom-commands.md): 18 pertanyaan, Senior - [Internasionalisasi Django](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-internationalization.md): 20 pertanyaan, Senior - [Django Async & ASGI](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-async-asgi.md): 26 pertanyaan, Senior - [Settings & Konfigurasi Produksi](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-settings-configuration.md): 22 pertanyaan, Senior - [Observability & Monitoring](https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-observability.md): 24 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/django/pertanyaan-wawancara/django-design-patterns