Kod tabanımızın aşağıdaki tarzda yazılmış bir kısmı vardır:
// IScheduledTask.cs
public interface IScheduledTask
{
string TaskName { get; set; }
int TaskPriority { get; set; }
List<IScheduledTask> Subtasks { get; set; }
// ... several more properties in this vein
}
// ScheduledTaskImpl.cs
public class ScheduledTaskImpl : IScheduledTask
{
public string TaskName { get; set; }
public int TaskPriority { get; set; }
public List<IScheduledTask> Subtasks { get; set; }
// ... several more properties in this vein,
// perhaps a constructor or two for convenience.
}
Yani, her biri otomatik özelliklerle uygulayan tek bir karşılık gelen uygulama ile davranışsız bir dizi özelliği belirten çok sayıda arabirim vardır. Kod oldukça kıdemli biri tarafından yazılmıştır (kendimden çok daha fazla) ve arayüzlerin bu kullanımından makul prosedür kodu dışındadır. Başka kimsenin bu stille karşılaşıp karşılaşmadığını / kullanmış olup olmadığını ve sadece arayüzler olmadan her yerde beton DTO'ları kullanmanın herhangi bir avantajı olup olmadığını merak ediyordum.