3
ใช้อินเทอร์เฟซสำหรับประเภทข้อมูลเป็นแบบป้องกันหรือไม่
สมมติว่าฉันมีเอนทิตีต่าง ๆ ในแบบจำลองของฉัน (โดยใช้ EF), พูดว่าผู้ใช้ผลิตภัณฑ์ใบแจ้งหนี้และใบสั่ง ฉันกำลังเขียนตัวควบคุมผู้ใช้ที่สามารถพิมพ์บทสรุปของเอนทิตีวัตถุในแอปพลิเคชันของฉันซึ่งเป็นรายการที่กำหนดไว้ล่วงหน้าในกรณีนี้ฉันบอกว่าสรุปของผู้ใช้และผลิตภัณฑ์สามารถสรุปได้ บทสรุปจะมีเพียง ID และคำอธิบายเท่านั้นดังนั้นฉันจึงสร้างอินเทอร์เฟซอย่างง่ายสำหรับสิ่งนี้: public interface ISummarizableEntity { public string ID { get; } public string Description { get; } } จากนั้นสำหรับเอนทิตีที่มีปัญหาฉันสร้างคลาสบางส่วนที่ใช้อินเทอร์เฟซนี้: public partial class User : ISummarizableEntity { public string ID { get{ return UserID.ToString(); } } public string Description { get{ return …