Perguntas sobre 'object-oriented-design'

12
respostas

Por que o Square herdando do Rectangle seria problemático se substituirmos os métodos SetWidth e SetHeight?

Se um quadrado é um tipo de retângulo, então por que um quadrado não pode herdar de um retângulo? Ou porque é um projeto ruim? Eu ouvi as pessoas dizerem: If you made Square derive from Rectangle, then a Square should be usable anywher...
07.05.2014 / 07:21
17
respostas

É melhor retornar valores NULL ou vazios de funções / métodos onde o valor de retorno não está presente?

Estou procurando uma recomendação aqui. Eu estou lutando com se é melhor retornar NULL ou um valor vazio de um método quando o valor de retorno não está presente ou não pode ser determinado. Use os dois métodos a seguir como exemplos: stri...
17.11.2011 / 19:34
10
respostas

Isto é uma violação do Princípio de Substituição de Liskov?

Digamos que temos uma lista de entidades de tarefas e um subtipo ProjectTask . As tarefas podem ser fechadas a qualquer momento, exceto ProjectTasks , que não pode ser fechado depois de ter um status Iniciado. A interface do usuário deve gar...
16.10.2012 / 22:36
14
respostas

A Gangue dos Quatro explorou completamente o "Espaço Padrão"?

Desde que soube pela primeira vez sobre os padrões de design da Gang of Four (GoF) , há pelo menos 10 anos atrás, eu Estou tendo a impressão de que esses 23 padrões devem ser apenas uma pequena amostra de algo muito maior que eu gosto de chamar...
12.11.2016 / 16:31
9
respostas

Por que devo usar a injeção de dependência?

Estou com dificuldade em procurar recursos sobre por que devo usar a injeção de dependência . A maioria dos recursos que vejo explica que apenas passa uma instância de um objeto para outra instância de um objeto, mas por quê? Isso é apenas para...
13.11.2018 / 09:04
6
respostas

O que é realmente a “lógica de negócios”?

Estou trabalhando com desenvolvimento web desde 2009, quando comecei com PHP. Quando mudei para o ASP.NET, ouvi muito sobre DDD e OOAD, onde muito foco é dado a essa "lógica de negócios" e "regras de negócios". O ponto é que todos os aplicativos...
31.03.2014 / 01:34
11
respostas

Por que base-for-all-objects é desencorajada em C ++

A Stroustrup diz: "Não invente imediatamente uma base única para todas as suas turmas (uma classe Object). Normalmente, você pode fazer melhor sem ela para muitas / muitas turmas". (Quarta Edição da Linguagem de Programação C ++, Seção 1.3.4)...
15.02.2015 / 17:45
4
respostas

Rich Domain Models - como, exatamente, o comportamento se encaixa?

No debate dos modelos de domínio Rich versus Anemic, a internet está cheia de conselhos filosóficos, mas poucos exemplos de autoridade. O objetivo desta questão é encontrar diretrizes definitivas e exemplos concretos de modelos apropriados de De...
06.10.2013 / 20:49
10
respostas

Meu design proposto é geralmente pior do que o do meu colega - como melhorar? [fechadas]

Eu tenho programado por alguns anos e geralmente sou bom quando se trata de corrigir problemas e criar scripts pequenos para médios, no entanto, geralmente não sou bom em projetar programas em larga escala de maneira orientada a objeto. Poucas p...
15.10.2012 / 20:48
10
respostas

O que significa: “Um usuário não deve decidir se é um Admin ou não. Os privilégios ou o sistema de segurança deveriam ”.

O exemplo usado na pergunta passa os dados mínimos para uma função , toca na melhor maneira de determinar se o usuário é administrador ou não. Uma resposta comum foi: user.isAdmin() Isso gerou um comentário que foi repetido várias vezes...
04.11.2013 / 13:16