Sobes.tech
Junior — Middle

Explique o conceito de arquitetura em camadas dentro de uma única aplicação e seus componentes principais.

sobes.tech IA

Resposta da IA

A arquitetura em camadas é uma forma de organizar uma aplicação em que a funcionalidade é dividida em várias camadas lógicas, cada uma responsável pela sua própria área de responsabilidade. Isto aumenta a modularidade, facilita a manutenção e os testes.

Componentes principais da arquitetura em camadas:

  1. Camada de Apresentação — responsável pela interação com o utilizador, exibição de dados e receção de entradas.
  2. Camada de Lógica de Negócio — contém regras e lógica de processamento de dados, implementa processos de negócio.
  3. Camada de Acesso a Dados — responsável pela interação com a base de dados ou outras fontes de dados.

Exemplo em C#:

// Camada de Apresentação
public class UserInterface {
    private BusinessLogic _bl = new BusinessLogic();
    public void ShowUser(int id) {
        var user = _bl.GetUser(id);
        Console.WriteLine($"Utilizador: {user.Name}");
    }
}

// Camada de Lógica de Negócio
public class BusinessLogic {
    private DataAccess _da = new DataAccess();
    public User GetUser(int id) {
        return _da.FetchUser(id);
    }
}

// Camada de Acesso a Dados
public class DataAccess {
    public User FetchUser(int id) {
        // Código para obter o utilizador da base de dados
        return new User { Id = id, Name = "Ivan" };
    }
}

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

Esta separação simplifica a alteração de uma camada sem afetar as outras.