Ada sebagian basis kode kami yang ditulis dengan gaya berikut:
// 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.
}
Yaitu, ada sejumlah besar antarmuka yang menetapkan hanya satu set properti tanpa perilaku masing-masing dengan satu-satunya implementasi yang sesuai yang mengimplementasikannya dengan properti-otomatis. Kode ini ditulis oleh seseorang yang cukup senior (lebih dari saya) dan terlepas dari penggunaan antarmuka ini, kode prosedural yang masuk akal. Saya bertanya-tanya apakah ada orang lain yang mengalami / menggunakan gaya ini dan apakah itu memiliki kelebihan dibandingkan hanya menggunakan DTO beton di mana-mana tanpa antarmuka.