Perguntas com a marcação «design-patterns»

Um padrão de design é uma solução reutilizável geral para um problema comum no design de software.

5
Podemos substituir completamente a herança usando padrão de estratégia e injeção de dependência?
Por exemplo: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Como a classe Duck contém todos os comportamentos (abstrato), a criação de uma nova classe MallardDuck(que se estende Duck) não parece ser necessária. Referência: Head First Design Pattern, Capítulo …



2
Arquitetura do sistema de alerta
Eu gostaria de criar um sistema que lida com mensagens de alerta de vários programas e possa processar esses alertas para consumidores de baixa velocidade por email. Tudo isso estaria contido em uma rede interna. Eu acho que quero que a arquitetura básica fique assim: A principal preocupação que tenho …

6
Como você evita interações intermináveis ​​através de projetos igualmente subótimos?
Portanto, provavelmente como muitos, muitas vezes me vejo enfrentando problemas de design nos quais, por exemplo, há algum padrão / abordagem de design que parece se encaixar intuitivamente no problema e tem os benefícios desejados. Muitas vezes, existem algumas ressalvas que dificultam a implementação do padrão / abordagem sem algum …


5
É certo violar o LSP?
Estou acompanhando essa pergunta , mas estou mudando meu foco do código para um princípio. Pelo meu entendimento do princípio de substituição de Liskov (LSP), quaisquer que sejam os métodos da minha classe base, eles devem ser implementados na minha subclasse e, de acordo com esta página, se você substituir …







4
Reduzindo a complexidade de uma classe
Eu olhei para algumas respostas e procurei no Google, mas não encontrei nada útil (isto é, que não teria efeitos colaterais estranhos). Meu problema, em resumo, é que tenho um objeto e preciso executar uma longa sequência de operações nele; Eu penso nisso como uma espécie de linha de montagem, …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.