abstractions ที่ไม่น่ารำคาญทั้งหมดในระดับหนึ่งมีการรั่วไหล ที่กล่าวว่าฉันไม่แน่ใจว่ามันใช้ที่นี่ :-)
บทคัดย่อเกี่ยวข้องกับพฤติกรรม ยกเว้นว่าพฤติกรรมดังกล่าวระบุถึงประสิทธิภาพเฉพาะ (ซึ่ง Java List
ไม่มี) ก็เป็นรายละเอียดการนำไปใช้งาน - ไม่เกี่ยวข้อง
Java ไม่อนุญาตให้คุณระบุประสิทธิภาพขั้นต่ำสำหรับอินเทอร์เฟซนอกเอกสารและฉันไม่ทราบว่าภาษาใดที่ทำ - มันจะยากอย่างเหลือเชื่อ (เป็นไปไม่ได้?) สำหรับคอมไพเลอร์ในการตรวจสอบ ฉันเห็นตัวเลือกสองสามอย่างถ้าประสิทธิภาพเป็นเรื่องที่กังวล:
- จัดทำเอกสารไว้ในคลาส / อินเทอร์เฟซที่รายการอินสแตนซ์จะเป็นของ
- สร้างอินเทอร์เฟซใหม่ - เช่น
BinarySearchPerformantList
(yuck!) - ซึ่งระบุข้อกำหนดด้านประสิทธิภาพของวิธีการต่างๆ
ตัวเลือกที่ 2 น่าจะเป็นสิ่งที่ดีกว่านามธรรม แต่มาพร้อมกับค่าใช้จ่ายเพิ่มเติม