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)
29 perguntas
-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:
...
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 ...
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 ...
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) ...
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....
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(...
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 ...
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 ...
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 ...
-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(){
...
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 ...
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 ...
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 ...
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 ...
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
...
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 ...
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)?
...
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. ...
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=...
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, ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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
{
...