Perguntas com a marcação «interfaces»

29
Nomeação da interface: prefixo 'Can-' vs sufixo '-Able'

É comum usar '-able' como sufixo para interfaces, por exemplo Rotável Shootable potável enumerável imprimível serializável Eu estava pensando que 'Can-' poderia melhorar porque pode ser mais descritivo. Sim, é mais prolixo e adiciona ruído ao nome da interface. Em particular, verbos passivos...

22
Como você evolui e versão uma interface?

Digamos que você tenha uma interface IFoo: public interface IFoo { void Bar(string s); int Quux(object o); } Na versão 2 da sua API, você precisa adicionar um método Glarga essa interface. Como você faz isso sem quebrar os usuários existentes da API e manter a compatibilidade com versões...

20
Quem estende as interfaces? E porque?

AFAIK, minha classe extendspai classes e implementsinterfaces. Mas me deparo com uma situação em que não posso usar implements SomeInterface. É a declaração de um tipo genérico. Por exemplo: public interface CallsForGrow {...} public class GrowingArrayList <T implements CallsForGrow> //...

20
Genéricos vs interface comum?

Não me lembro de quando escrevi aula genérica da última vez. Toda vez que penso que preciso, depois de pensar um pouco, concluo que não preciso. A segunda resposta a essa pergunta me fez pedir esclarecimentos (como ainda não posso comentar, fiz uma nova pergunta). Então, vamos dar o código...

17
Princípio de menor espanto (POLA) e interfaces

Um bom quarto de século atrás, quando eu estava aprendendo C ++, fui ensinado que as interfaces deveriam perdoar e, na medida do possível, não se importar com a ordem em que os métodos foram chamados, já que o consumidor pode não ter acesso à fonte ou documentação em vez de esta. No entanto,...

16
Uso da palavra-chave "Using" na interface C #

Quando estou usando C # para escrever algum código e defino uma interface usando o Visual Studio 2010, ele sempre inclui várias instruções "using" (como mostrado no exemplo) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestEngine.TestNameSpace {...