Sobes.tech
Junior — Middle

Wyjaśnij koncepcję architektury wielowarstwowej w ramach jednej aplikacji i jej główne komponenty.

sobes.tech AI

Odpowiedź od AI

Architektura warstwowa to sposób organizacji aplikacji, w którym funkcjonalność jest podzielona na kilka logicznych warstw, z których każda odpowiada za swoją własną strefę odpowiedzialności. Zwiększa to modułowość, ułatwia utrzymanie i testowanie.

Główne komponenty architektury warstwowej:

  1. Warstwa prezentacji — odpowiada za interakcję z użytkownikiem, wyświetlanie danych i odbieranie wejścia.
  2. Warstwa logiki biznesowej — zawiera zasady i logikę przetwarzania danych, realizuje procesy biznesowe.
  3. Warstwa dostępu do danych — odpowiada za interakcję z bazą danych lub innymi źródłami danych.

Przykład w C#:

// Warstwa prezentacji
public class UserInterface {
    private BusinessLogic _bl = new BusinessLogic();
    public void ShowUser(int id) {
        var user = _bl.GetUser(id);
        Console.WriteLine($"Użytkownik: {user.Name}");
    }
}

// Warstwa logiki biznesowej
public class BusinessLogic {
    private DataAccess _da = new DataAccess();
    public User GetUser(int id) {
        return _da.FetchUser(id);
    }
}

// Warstwa dostępu do danych
public class DataAccess {
    public User FetchUser(int id) {
        // Kod do pobrania użytkownika z bazy danych
        return new User { Id = id, Name = "Ivan" };
    }
}

public class User {
    public int Id { get; set; }
    public string Name { get; set; }
}

Takie rozdzielenie ułatwia modyfikację jednej warstwy bez wpływu na pozostałe.