Digamos que tenemosde inyección y por defecto sobrecargas del constructor
public interface ITimestampProvider
{
DateTime GetTimestamp();
}
y una clase que lo consume
public class Timestamped
{
private ITimestampProvider _timestampProvider
public Timestamped(ITimestampProvider timestampProvider)
{
// arg null check
_timestampProvider = timestampProvider;
}
public DateTime Timestamp { get; private set; }
public void Stamp()
{
this.Timestamp = _timestampProvider.GetTimestamp();
}
}
y una implementación por defecto de:
public sealed class SystemTimestampProvider : ITimestampProvider
{
public DateTime GetTimestamp()
{
return DateTime.Now;
}
}
¿Es útil o harfmful para presentar este constructor?
public Timestamped() : this(new SystemTimestampProvider())
{}
Ésta es una pregunta general, es decir, sellado de tiempo no es la parte interesante.
¿Qué sabor de la inyección de dependencia está utilizando CAB? ¿Castillo? –
A los fines de esta pregunta, ninguno. Es una consulta API general. He actualizado la pregunta para eliminar la connotación de "inyección". –