Sobes.tech
Junior — Middle

Jakie wzorce projektowe stosujesz podczas tworzenia części serwerowej systemu?

sobes.tech AI

Odpowiedź od AI

Podczas tworzenia części serwerowej często stosuję następujące wzorce projektowe:

  • Repository — do abstrakcji dostępu do danych, oddzielenia logiki pracy z bazą danych od logiki biznesowej.
  • Dependency Injection — do zarządzania zależnościami i upraszczania testowania.
  • Singleton — do tworzenia pojedynczego egzemplarza usług lub menedżerów, na przykład do konfiguracji.
  • Factory — do tworzenia obiektów z różnymi konfiguracjami lub typami bez sztywnego powiązania z konkretnymi klasami.
  • Strategy — do wyboru algorytmu lub zachowania podczas wykonywania.

Przykład użycia Repository w C#:

public interface IUserRepository {
    User GetById(int id);
    void Add(User user);
}

public class UserRepository : IUserRepository {
    public User GetById(int id) {
        // implementacja dostępu do bazy danych
    }
    public void Add(User user) {
        // dodanie użytkownika
    }
}

To pozwala na zmianę implementacji dostępu do danych bez zmiany logiki biznesowej.