Perguntas com a marcação «interfaces»

Perguntas sobre considerações de design relacionadas à interface, como programação para a interface.

4
Interface ou classe de retorno
Suponha que eu tenha um método public List<User> GetBatchOfUsers(IEnumerable<int> userIDs) { List<User> users = new List<User>(); // some database stuff return users; } Eu li que seria melhor retornar uma interface ( IListou IEnumerable) em vez de retornar a List. Alguns argumentos que ouvi falar disso são que ocultam dados …
9 c#  interfaces  class 

1
Interfaces implícitas vs explícitas
Acho que compreendo as limitações reais do polimorfismo em tempo de compilação e do polimorfismo em tempo de execução. Mas quais são as diferenças conceituais entre interfaces explícitas (polimorfismo em tempo de execução. Isto é, funções virtuais e ponteiros / referências) e interfaces implícitas (polimorfismo em tempo de compilação. Ie. …



2
Recursos opcionais: método padrão ou interface separada
Interfaces dedicadas parecem ser uma boa maneira de expor os recursos opcionais em uma hierarquia de tipos específicos de domínio. No entanto, eles impedem o uso de decorador e padrões compostos, o que também é comum nesse tipo de hierarquia. Especialmente, provavelmente ninguém deseja implementar um decorador / composto para …




3
Como funcionam as interfaces de usuário de texto (TUI)?
Recentemente, fui designado para portar um programa COBOL antigo. Estou acostumado a GUIs e não consigo entender como uma TUI funciona. Pesquisei bastante no Google, mas não consegui encontrar algo. Eu sabia que os aplicativos de console podiam produzir linha por linha, mas como as cores etc. são atraídas para …



3
Verificar pré-condições ou não
Eu estava querendo encontrar uma resposta sólida para a questão de ter ou não verificações em tempo de execução para validar as entradas com o objetivo de garantir que um cliente permaneça no final do contrato, conforme o design por contrato. Por exemplo, considere um construtor de classe simples: class …
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.