NicolasMendesMO (discussão | contribs)
NicolasMendesMO (discussão | contribs)
Linha 23: Linha 23:
<br>
<br>
<b>Single Responsibility Principle - Responsabilidade Única</b>
<b>Single Responsibility Principle - Responsabilidade Única</b>
 
A classe <code>class UserRepository(BaseRepository)</code>
Possui métodos de responsabilidade única como mostrado abaixo:
<pre>
<pre>
def soma(a, b):
    def get_user_by_id(self, user_id: int) -> Optional[User]:
    return a + b
        """Busca um usuário pelo ID."""
        stmt = select(User).where(User.id == user_id)
        result = self.execute_stmt(stmt)
        return result.scalar_one_or_none()
</pre>
</pre>



Edição das 01h31min de 18 de novembro de 2025

Fase 2


Escopo


  • Desenvolver um sistema que facilite o encontro entre pessoas que estão à procura de um quarto para alugar e as que já possuem o quarto disponível para locação em seus imóveis
  • A proposta é criar uma plataforma digital (via web) que funcione como um matchmaking de moradia, similar ao funcionamento de apps de relacionamento, com base em critérios como localização, orçamento, perfil de convivência e preferências pessoais


Requisitos Funcionais


[RF001] Implementar visualização de detalhes (quarto e perfil)

[RF002] Implementar match


Requisitos Não-Funcionais


Melhores práticas


Single Responsibility Principle - Responsabilidade Única A classe class UserRepository(BaseRepository) Possui métodos de responsabilidade única como mostrado abaixo:

    def get_user_by_id(self, user_id: int) -> Optional[User]:
        """Busca um usuário pelo ID."""
        stmt = select(User).where(User.id == user_id)
        result = self.execute_stmt(stmt)
        return result.scalar_one_or_none()

Open/Closed Principle - Aberto para Extensão, Fechado para Modificação

def soma(a, b):
    return a + b

Liskov Substitution Principle - Substituição de Liskov

def soma(a, b):
    return a + b

Interface Segregation Principle - Segregação de Interfaces

def soma(a, b):
    return a + b


Dependency Inversion Principle - Inversão de Dependência

def soma(a, b):
    return a + b