Engenharia de software interfaces
Perguntas com a marcação «interfaces»
Perguntas sobre considerações de design relacionadas à interface, como programação para a interface.
Por que as interfaces são úteis?
Eu tenho estudado e codificado em C # há algum tempo. Mas, ainda assim, não consigo entender a utilidade das interfaces. Eles trazem muito pouco para a mesa. Além de fornecer as assinaturas da função, eles não fazem nada. Se me lembro dos nomes e assinaturas das funções que precisam …
Por que devo preferir composição a herança?
Eu sempre leio que a composição deve ser preferida à herança. Um post de blog sobre tipos diferentes , por exemplo, defende o uso da composição sobre a herança, mas não vejo como o polimorfismo é alcançado. Mas tenho a sensação de que, quando as pessoas dizem que preferem composição, …
É melhor Show () + Hide () ou SetVisible (bool visível)?
O que é melhor e por quê? (Do ponto de vista do design da interface): a) Ter dois Show()e Hide()funções b) Ter uma SetVisible(bool visible)função EDIT: Por exemplo, algum objeto tem estado de visibilidade e esta função é usada para alterá-lo. c) ter todos os três Show(), Hide(), SetVisible(bool visible)funções
Programação para uso futuro de interfaces
Eu tenho um colega sentado ao meu lado que projetou uma interface como esta: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } O problema é que, no momento, não estamos usando esse parâmetro "end" em nenhum lugar do nosso código, ele está …
O que Rich Hickey quis dizer quando disse: "Toda essa especificidade [de interfaces / classes / tipos] mata sua reutilização!"
Na palestra instigadora de Rich Hickey, Goto Conference " The Value of Values ", aos 29 minutos, ele está falando sobre a sobrecarga de uma linguagem como Java e faz uma declaração como "Todas essas interfaces matam sua reutilização". O que ele quer dizer? Isso é verdade? Na minha busca …
Uso interfaces raramente e as acho comuns em outros códigos. Também crio sub e super classes (ao criar minhas próprias classes) raramente no meu código. Isso é uma coisa ruim? Você sugeriria mudar esse estilo? Esse estilo tem algum efeito colateral? Isso é porque não trabalhei em nenhum grande projeto?
As classes / métodos abstratos são obsoletos?
Eu costumava criar muitas classes / métodos abstratos. Então eu comecei a usar interfaces. Agora não tenho certeza se as interfaces não estão tornando obsoletas as classes abstratas. Você precisa de uma aula totalmente abstrata? Crie uma interface em seu lugar. Você precisa de uma classe abstrata com alguma implementação? …