ฉันอ่านC # ออกแบบ Essentials ฉันกำลังอ่านเกี่ยวกับรูปแบบตัววนซ้ำ
ฉันเข้าใจวิธีการนำไปใช้อย่างสมบูรณ์ แต่ฉันไม่เข้าใจความสำคัญหรือดูกรณีการใช้งาน ในหนังสือจะมีตัวอย่างให้ในกรณีที่มีคนต้องการได้รับรายชื่อของวัตถุ พวกเขาจะได้ทำเช่นนี้โดยการเปิดเผยทรัพย์สินของประชาชนเช่นหรือIList<T>
Array
หนังสือเล่มนี้เขียน
ปัญหาเกี่ยวกับเรื่องนี้คือการเป็นตัวแทนภายในในทั้งสองชั้นเรียนเหล่านี้ได้สัมผัสกับโครงการภายนอก
การเป็นตัวแทนภายในคืออะไร? ความจริงมันเป็นarray
หรือIList<T>
? ฉันไม่เข้าใจจริงๆว่าทำไมสิ่งนี้เป็นสิ่งที่ไม่ดีสำหรับผู้บริโภค (โปรแกรมเมอร์ที่เรียกสิ่งนี้) รู้ ...
หนังสือบอกว่ารูปแบบนี้ใช้งานได้โดยเปิดเผยGetEnumerator
ฟังก์ชั่นของมันเพื่อให้เราสามารถเรียกGetEnumerator()
และเปิดเผย 'รายการ' ด้วยวิธีนี้
ฉันคิดว่ารูปแบบนี้มีสถานที่ (เหมือนทั้งหมด) ในบางสถานการณ์ แต่ฉันไม่เห็นว่าที่ไหนและเมื่อไหร่
F
ที่ทำให้ผมมีความรู้ (วิธีการ) ของa
, และb
c
ทุกอย่างดีและดีอาจมีหลายสิ่งที่แตกต่างกัน แต่เพียงF
เพื่อฉัน คิดว่าวิธีการนั้นเป็น "ข้อ จำกัด " หรือข้อสัญญาที่F
ผูกมัดให้ชั้นเรียนทำ สมมติว่าเราเพิ่มส่วนหนึ่งd
เพราะเราต้องการ นี้จะเพิ่มข้อ จำกัด เพิ่มเติมทุกครั้งที่เราทำเช่นนี้เรากำหนดขึ้นและมากขึ้นในF
s ในที่สุด (กรณีที่เลวร้ายที่สุด) มีเพียงสิ่งเดียวเท่านั้นที่สามารถเป็นได้F
ดังนั้นเราจึงอาจไม่มีมัน และF
ข้อ จำกัด มากมายมีเพียงวิธีเดียวที่จะทำได้