Cerco di programmare un'interfaccia ogni volta che è possibile, ma quando ho una classe che soddisfa uno scopo molto specifico e unico, che non può essere astratto. E 'corretto per me dire che ho raggiunto i limiti dell' "astrazione" e che devo passare solo nella classe concreta?
public void DoSomethingWith (HighlySpecificClass specificClass, ISomeInterface abstractedClass)
Quindi, se il "programma su un'interfaccia" è più una linea guida che una regola complessa, come posso renderlo testabile? Devo creare comunque un'interfaccia "header" per questo?