Skip to main content

Perguntas com a tag [solid]

SOLID é um acrônimo inglês criado por Michael Feathers que reúne os 5 Princípios básicos da Programação Orientada a Objetos: Single responsibility (Responsabilidade Única), Open-closed (Aberto-Fechado), Liskov substitution (Substituição de Liskov), Interface segregation (Segregação de Interface) and Dependency inversion(Inversão de Dependência)

Filtrar por
Ordenado por
Com tags
-2 votos
0 respostas
41 visitas

Como resolver dependência cíclica em Go com princípios SOLID? [fechada]

Estou trabalhando em um projeto em Go onde tenho dois domínios, Ingredient e Recipe. Cada um deles está em seu próprio pacote (ingredientdomain e recipedomain). Aqui estão as definições básicas: ...
Murilo Flores's user avatar
6 votos
1 resposta
158 visitas

Código limpo: funções e métodos devem fazer uma coisa só? Isto torna o código mais manutenível?

A pergunta-título é retirada das orientações do conhecido livro Clean Code (Código Limpo). Seguem abaixo um trecho original, pego da Internet, e uma tradução livre do mesmo: A function should do one ...
Piovezan's user avatar
  • 18mil
0 votos
1 resposta
75 visitas

SOLID - Dependency Inversion principle deve se aplicar também a funções utilitárias simples?

Ao seguir os princípios do SOLID, o D (Dependency inversion principle) diz para dependermos de interfaces e não de implementações concretas. Isso se aplica também para funções utilitárias, que ajuda a ...
Christian's user avatar
2 votos
1 resposta
129 visitas

Princípio da Inversão de Dependência SOLID [fechada]

Tenho uma classe Funcionário dessa forma: class Funcionario { public function calcularSalario($cargo, $dpto, $totalHorasExtras, $bonificacao) { if(strcmp($dpto, "ti") == 0) ...
Winicius Leal's user avatar
4 votos
1 resposta
175 visitas

Acessar uma variável fora do escopo da classe vai contra os princípios SOLID?

const clients = [{ username: "test" }]; class Validator { constructor(username){ this.username = username; } isUsernameTaken(username) { let usernames = []; clients....
Yago Biermann's user avatar
2 votos
2 respostas
320 visitas

As classes Helper/Utility com métodos genéricos ferem o Princípio da Responsabilidade Única (SRP)?

As classes Helper/Utility com métodos genéricos, que são usados para vários fins, ferem o Princípio da Responsabilidade Única (SRP)? Segue exemplo de alguns métodos da classe: function get_qtd_dia_mes(...
Valdinei's user avatar
4 votos
2 respostas
166 visitas

Até que ponto devemos seguir o OCP?

Ao desenvolver uma tela para uma determinada parte de um sistema, me deparo com uma situação clássica de possuir alguns ifs para determinar qual ação deverá ser executada. Logo associei esse caso a ...
Gabriel Romão's user avatar
0 votos
1 resposta
232 visitas

Principios SOLID dentro do Controller do Laravel

Dentro dos principios SOLID, como implementar os 2 primeiros principios ? SRP e Open-Closed Principle. A minha estrutura é simples, tem models dentro do app gerados pelo artisan, e controllers ...
Programador GMM's user avatar
4 votos
1 resposta
94 visitas

Seguir o princípio OCP ou usar "instanceof"

O princípio OCP prega: "aberto para extensão, mas fechado para alteração". Para conseguir isso precisamos abstrair, pois com uma abstração podemos estender sem precisar alterar aquele que usa a ...
Willian's user avatar
  • 71
-2 votos
1 resposta
111 visitas

O que pode ser feito para melhorar este código? [fechada]

class Curso { public List<Disciplina> disciplinas; } class Aluno { public List<Disciplina> obrigatorias; public List<Disciplina> optativas; public matricula(){ ...
Vitor Chaves's user avatar
2 votos
1 resposta
2mil visitas

Verifique se o controlador tem um construtor público sem parâmetros

Alguém me ajuda, estou criando um projeto e na parte de injeção de dependência estou tendo o seguinte erro quando faço uma requisição do Postman na minha Api: Ocorreu um erro ao tentar criar um ...
Thales Faria's user avatar
6 votos
1 resposta
145 visitas

Como eu sei que minha função está quebrando o SOLID de POO?

Deixei uma função abaixo que será alvo da pergunta, basicamente eu gostaria de saber se essa função quebra algum principio do SOLID/Clean Code por si só ? Essa dúvida surgiu pois tecnicamente ela faz ...
Vinicius Santos's user avatar
18 votos
3 respostas
2mil visitas

SOLID é tudo isso que dizem?

Relacionada: O que são os princípios SOLID? Encomendei meu "Princípios, Padrões e Práticas Ágeis em C#" do Robert C. Martin e um dos motivos é o SOLID. Mas sou reticente quanto ao SOLID. Eu ...
Piovezan's user avatar
  • 18mil
3 votos
1 resposta
226 visitas

Boas praticas para classe que cresce muito

Complementando uma pergunta que postei aqui há algum tempo, sobre um sistema para cadastro de usuários usando conceitos do padrão SOLID, um dos problema que me deparei foi a questão da classe User ser ...
Thiago's user avatar
  • 925
4 votos
1 resposta
75 visitas

Será que qualquer projeto pode ser adequado aos princípios pregados pelo SOLID? Quais os passos para isso?

Estou tentando adequar um dos meus projetos aos padrões do SOLID, porém, não estou conseguindo sair do marco zero. O projeto em questão pode ser encontrado em: https://github.com/crphp/webservice ...
Fábio Jânio's user avatar
3 votos
1 resposta
196 visitas

Injeção de Dependências Camadas Application / Domain / Repository

Numa aplicação utilizando os conceitos de DDD estou em dúvidas sobre quem poderia injetar (dependências) numa determinada classe, se existe algum padrão para tal. É o seguinte, entre as camadas ...
LeoFelipe's user avatar
  • 1.475
2 votos
2 respostas
128 visitas

SRP- Princípio da Responsabilidade Única [fechada]

Na classe Pedido, que contêm as regras de negócio para solicitar um pedido de venda, informe qual das opções abaixo viola o principio da responsabilidade única (SRP- Single Responsibility Principle)? ...
Sâmia Caleffi's user avatar
7 votos
2 respostas
1mil visitas

Uso de interfaces em classes do domínio?

O analista do projeto em que estou trabalhando como programador C# defende energicamente o conceito de SOLID em desenvolvimento. E diz que um dos requisitos para utilizá-lo é ter interfaces para tudo. ...
AlamBique's user avatar
  • 543
1 voto
1 resposta
585 visitas

Abstração da classe Connection PHP PDO

Pessoal tenho a seguinte classe para conexão com banco de dados... namespace App\Database; class Conn { public static function getDb() { return new \PDO('mysql:host=localhost;dbname=...
wDrik's user avatar
  • 1.454
3 votos
1 resposta
417 visitas

Uma Repository pode estender uma Model?

Se a Repository extender a Model User, estou quebrando alguns dos princípios do S.O.L.I.D? Vi em alguns tutorias falarem, que tenho que criar uma classe abstrata com os mesmos métodos do Eloquent, ...
Estudante GPT's user avatar
25 votos
1 resposta
2mil visitas

O que são os princípios SOLID?

Ultimamente, tenho ouvido falar bastante no termo mas para mim nunca está claro se é um design pattern ou uma boa prática em orientação a objetos. Talvez seja uma pergunta muito ampla, mas por que ...
ldeoliveira's user avatar
  • 2.135
1 voto
0 respostas
56 visitas

Solidworks PDM API - IEdmBomView.GetRows não retorna os mesmos itens para o BOM que estão no PDM

Tenho uma rotina em C# que exporta o BOM, mas quando validei, os 2 itens marcados na imagem não são retornados pela rotina GetRows da classe IEdmBomView. Os itens estão normais no Solidworks. E quando ...
Rodrigo Gazola's user avatar
12 votos
4 respostas
707 visitas

Problema com polimorfismo

Tenho um problema com polimorfismo. Mas antes de explicá-lo, quero deixar claro que estou aprendendo bastante coisa ainda, se quiserem jogar minha estrutura no lixo, fiquem a vontade. Eu tenho um ...
Robson Faxas's user avatar
24 votos
2 respostas
4mil visitas

O que é "Princípio da Inversão de Dependência" (DIP)?

Estou conhecendo agora o principio SOLID: S Single Responsabilty Principle O Open/Closed L Liskov Substitution Principle I Interface Segregation D Dependency Inversion ...
Pena Pintada's user avatar
  • 4.812
25 votos
2 respostas
3mil visitas

Princípio de substituição de Liskov

O principio de substituição de Liskov diz que se dados tipos T e S sendo S subtipo de T então S deve poder ser substituído por T. Meu entendimento é que se eu tenho uma instância de S então eu posso ...
SomeDeveloper's user avatar
  • 18,8mil
2 votos
1 resposta
201 visitas

O controller pode enviar email?

Em um controller chamado atividades, tenho um metodo chamado lembrete. Esse metodo, recebe um id, procura aquela atividade com base nesse id e envia um email pro moderador daquela atividade com dados ...
Rafael Soufraz's user avatar
15 votos
3 respostas
2mil visitas

Princípio aberto/fechado - como entender isso?

Em orientação a objetos existe o SOLID sendo que um dos princípios é o aberto/fechado que eu aprendi da seguinte forma: "os componentes de software devem estar abertos para extensão e fechados para ...
SomeDeveloper's user avatar
  • 18,8mil
7 votos
2 respostas
406 visitas

Dúvida teórica - Interface, responsabilidade única

Apresentação: Criei uma classe fotografia.cs essa deverá ser responsável por: Calcular o ângulo de visão da lente; Receber o zoom da lente (em mm) Receber o fator de corte (valor que multiplicado ...
Dorath's user avatar
  • 7.534
5 votos
3 respostas
191 visitas

Porque é que isto viola os Strict Standards?

Tenham em conta as seguintes definições de classes: class SuperDate {} class SubDate extends SuperDate {} class Foo { public function setDate(SubDate $date) {} } class Bar extends Foo { ...
Tivie's user avatar
  • 545