en bizYapıcı enjeksiyon ve varsayılan aşırı yükler
public interface ITimestampProvider
{
DateTime GetTimestamp();
}
ve ona
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();
}
}
ve bir varsayılan uygulaması tüketir bir sınıf var diyelim:
public sealed class SystemTimestampProvider : ITimestampProvider
{
public DateTime GetTimestamp()
{
return DateTime.Now;
}
}
yararlı veya harfmful mi Bu kurucu tanıtmak için?
public Timestamped() : this(new SystemTimestampProvider())
{}
Bu genel bir sorudur, yani zaman damgası ilgi çekici kısım değildir.
CAB kullanarak hangi bağımlılık bağımlılığı enjeksiyonunu kullanıyorsunuz? Kale? –
Bu sorunun amaçları için, hiçbiri. Genel bir API sorgusudur. "Enjeksiyon" çağrışımını kaldırmak için soruyu güncelledim. –