ดังนั้นเราจึงมีส่วนต่อประสานเช่นนั้น
/// <summary>
/// Interface for classes capable of creating foos
/// </summary>
public interface ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
void Create(Foo foo);
/// <summary>
/// Does Bar stuff
/// </summary>
void Bar();
}
เมื่อเร็ว ๆ นี้เราได้เล่นเรื่องเอกสารที่เกี่ยวข้องกับการสร้างและตรวจสอบให้แน่ใจว่ามีเอกสาร XML มากมายดังกล่าวข้างต้น สิ่งนี้ทำให้เกิดเอกสารซ้ำซ้อนมากมาย ตัวอย่างการนำไปใช้:
/// <summary>
/// A Foo Creator which is fast
/// </summary>
public class FastFooCreator : ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
public void Create(Foo foo)
{
//insert code here
}
/// <summary>
/// Does Bar stuff
/// </summary>
public void Bar()
{
//code here
}
}
ในขณะที่คุณสามารถดูเอกสารวิธีการที่เป็นทางตรงจากอินเตอร์เฟซ
คำถามใหญ่คือสิ่งนี้เป็นสิ่งที่ไม่ดีหรือไม่? ลำไส้ของฉันบอกฉันว่าใช่เพราะมีการทำซ้ำ แต่แล้วอาจจะไม่ได้อีกครั้ง?
นอกจากนี้เรายังมีการทำสำเนาเอกสารอื่น ๆ ที่คล้ายกันกับoverride
ฟังก์ชั่นและvirtual
ฟังก์ชั่น
สิ่งนี้เลวและควรหลีกเลี่ยงหรือไม่? มันคุ้มค่าหรือไม่?