# Wzorce projektowe w Django (Django) > Repository pattern, Service layer, Factory pattern, Strategy pattern, zasady SOLID, clean architecture - 24 pytań z rozmów - Senior - [Pytania z rozmów: Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne.md) ## 1. Jaki jest główny cel wzorca Service Layer w aplikacji Django? **Odpowiedź** Wzorzec Service Layer enkapsuluje logikę biznesową w dedykowanej warstwie, oddzielonej od widoków i modeli. Ten podział poprawia testowalność, ponieważ logikę można testować niezależnie, ułatwia ponowne wykorzystanie kodu między różnymi widokami lub komendami oraz utrzymuje widoki cienkie, delegując złożone operacje do serwisów. Jest to zgodne z Single Responsibility Principle (SRP). ## 2. Co abstrahuje Repository Pattern w aplikacji Django? **Odpowiedź** Repository Pattern zapewnia abstrakcję pomiędzy warstwą biznesową a warstwą dostępu do danych. Enkapsuluje zapytania ORM Django w jawnych metodach, umożliwiając łatwą zmianę źródła danych bez modyfikowania logiki biznesowej. Ułatwia to także testy jednostkowe, pozwalając mockować repozytorium zamiast rzeczywistej bazy danych. ## 3. Która zasada SOLID jest naruszana, gdy widok Django zawiera jednocześnie walidację, logikę biznesową i wysyłanie e-maili? **Odpowiedź** Single Responsibility Principle (SRP) mówi, że klasa lub funkcja powinna mieć tylko jeden powód do zmiany. Widok obsługujący walidację, logikę biznesową i wysyłanie e-maili ma co najmniej trzy odrębne odpowiedzialności. Każda zmiana w jednym z tych obszarów wymagałaby modyfikacji widoku, czyniąc kod kruchym i trudnym w utrzymaniu. ## Jeszcze 21 dostępnych pytań - Jak zazwyczaj wykorzystywany jest Factory Pattern w aplikacji Django? - Jaka jest główna zaleta Strategy Pattern przy implementacji różnych metod płatności w Django? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Django - [Podstawy Pythona](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-basics.md): 25 pytań, Junior - [Python obiektowy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/python-oop.md): 20 pytań, Junior - [Podstawy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-fundamentals.md): 20 pytań, Junior - [Models Django - Podstawy](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-models-basics.md): 22 pytań, Junior - [Widoki Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-views.md): 20 pytań, Junior - [Szablony Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-templates.md): 18 pytań, Junior - [Formularze Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-forms.md): 22 pytań, Mid-Level - [Zaawansowane QuerySets](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-querysets.md): 25 pytań, Mid-Level - [Uwierzytelnianie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-authentication.md): 22 pytań, Mid-Level - [Middleware Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-middleware.md): 18 pytań, Mid-Level - [Django Admin](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-admin.md): 20 pytań, Mid-Level - [Django REST Framework](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-rest-framework.md): 30 pytań, Mid-Level - [Sygnały Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-signals.md): 18 pytań, Mid-Level - [Przesyłanie plików](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-file-upload.md): 20 pytań, Mid-Level - [Buforowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-caching.md): 20 pytań, Mid-Level - [Sesje Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-sessions.md): 18 pytań, Mid-Level - [Email w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-email.md): 18 pytań, Mid-Level - [Testowanie w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-testing.md): 22 pytań, Mid-Level - [Bezpieczeństwo Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-security.md): 22 pytań, Mid-Level - [Wdrażanie Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-deployment.md): 24 pytań, Mid-Level - [Zaawansowany Django ORM](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-orm-advanced.md): 28 pytań, Senior - [Wydajność Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-performance.md): 24 pytań, Senior - [Django & Celery](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-celery.md): 22 pytań, Senior - [Django Channels](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-channels.md): 24 pytań, Senior - [Django & GraphQL](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-graphql.md): 24 pytań, Senior - [Django & Docker](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-docker.md): 20 pytań, Senior - [Django w ekosystemie mikroserwisów](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-microservices.md): 24 pytań, Senior - [Niestandardowe komendy Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-custom-commands.md): 18 pytań, Senior - [Internacjonalizacja w Django](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-internationalization.md): 20 pytań, Senior - [Django Async i ASGI](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-async-asgi.md): 26 pytań, Senior - [Settings i konfiguracja produkcyjna](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-settings-configuration.md): 22 pytań, Senior - [Observability i monitoring](https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-observability.md): 24 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/django/pytania-rekrutacyjne/django-design-patterns