Có một phần cơ sở mã của chúng tôi được viết theo phong cách sau:
// 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.
}
Đó là, có một số lượng lớn các giao diện chỉ định một tập các thuộc tính không có hành vi nào với mỗi thực hiện tương ứng duy nhất thực hiện các giao diện này với các thuộc tính tự động. Mã được viết bởi một người khá cao cấp (nhiều hơn tôi) và ngoài việc sử dụng giao diện mã thủ tục hợp lý này. Tôi đã tự hỏi nếu có ai khác đã gặp / sử dụng phong cách này và liệu nó có bất kỳ lợi thế nào so với việc chỉ sử dụng các DTO cụ thể ở mọi nơi mà không có giao diện.