Perguntas com a marcação «object-oriented-design»

O design orientado a objetos é o processo de planejar um sistema de objetos em interação com o objetivo de resolver um problema de software.



7
É um cheiro de código definir um sinalizador em um loop para usá-lo mais tarde?
Eu tenho um pedaço de código no qual itero um mapa até que uma determinada condição seja verdadeira e, posteriormente, uso essa condição para fazer mais algumas coisas. Exemplo: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > …


10
Como os proponentes da Programação Funcional responderiam a essa declaração no Código Completo?
Na página 839 da segunda edição, Steve McConnell está discutindo todas as maneiras pelas quais os programadores podem "conquistar a complexidade" em grandes programas. Suas dicas culminam com esta afirmação: "A programação orientada a objetos fornece um nível de abstração que se aplica a algoritmos e dados ao mesmo tempo …



3
O que acontece com os testes dos métodos quando esse método se torna privado após o novo design no TDD?
Digamos que eu comece a desenvolver um RPG com personagens que atacam outros personagens e esse tipo de coisa. Aplicando o TDD, faço alguns casos de teste para testar a lógica dentro do Character.receiveAttack(Int)método. Algo assim: @Test fun healthIsReducedWhenCharacterIsAttacked() { val c = Character(100) //arg is the health c.receiveAttack(50) //arg …


6
Você pode implementar programação "orientada a objetos" sem a palavra-chave class?
Digamos que desejamos fornecer uma abstração de uma "conta" em um banco. Aqui está uma abordagem, usando um functionobjeto em Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def …

6
Existe um padrão de design para remover a necessidade de verificar sinalizadores?
Vou salvar uma carga útil de string no banco de dados. Eu tenho duas configurações globais: criptografia compressão Eles podem ser ativados ou desativados usando a configuração de maneira que apenas um deles esteja ativado, ambos estejam ativados ou desativados. Minha implementação atual é esta: if (encryptionEnable && !compressEnable) { …

7
A programação funcional ignora os benefícios obtidos com os "Sobre os critérios a serem usados ​​na decomposição de sistemas em módulos" (ocultação de dados)?
Há um artigo clássico chamado Sobre os critérios a serem usados ​​na decomposição de sistemas em módulos que acabei de ler pela primeira vez. Faz todo o sentido para mim e é provavelmente um daqueles artigos nos quais o OOP foi baseado. Sua conclusão: Tentamos demonstrar por esses exemplos que …




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.