हमारे कोडबेस का एक भाग निम्न शैली में लिखा गया है:
// 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.
}
यही है, बड़ी संख्या में इंटरफेस हैं, जो केवल एक ही संगत कार्यान्वयन के साथ प्रत्येक व्यवहार के गुणों का एक सेट निर्दिष्ट करते हैं जो कि ऑटो-गुणों के साथ इनको लागू करता है। कोड किसी के द्वारा काफी वरिष्ठ लिखा जाता है (अपने आप से बहुत अधिक) और यह इंटरफेस के उपयोग के अलावा उचित प्रक्रियात्मक कोड है। मैं सोच रहा था कि अगर किसी और ने भी इस शैली का सामना किया / इस्तेमाल किया और अगर इसमें इंटरफेस के बिना हर जगह कंक्रीट डीटीओ का उपयोग करने पर कोई लाभ है।