เมื่อใดควรใช้ generics ในการออกแบบอินเตอร์เฟส
ฉันมีอินเทอร์เฟซบางอย่างที่ฉันต้องการให้บุคคลที่สามนำไปใช้ในอนาคตและฉันได้เตรียมการติดตั้งพื้นฐานด้วยตนเอง ฉันจะใช้คู่เพื่อแสดงตัวอย่างเท่านั้น ปัจจุบันพวกเขาถูกกำหนดเป็น สิ่งของ: public interface Item { String getId(); String getName(); } ItemStack: public interface ItemStackFactory { ItemStack createItemStack(Item item, int quantity); } ItemStackContainer: public interface ItemStackContainer { default void add(ItemStack stack) { add(stack, 1); } void add(ItemStack stack, int quantity); } ตอนนี้ItemและItemStackFactoryฉันสามารถคาดการณ์ได้อย่างแน่นอนว่าบุคคลที่สามบางคนจำเป็นต้องขยายในอนาคต ItemStackContainerอาจขยายได้ในอนาคต แต่ไม่ใช่ในลักษณะที่ฉันสามารถคาดการณ์ได้นอกเหนือจากการใช้งานเริ่มต้นที่ให้ไว้ ตอนนี้ฉันพยายามทำให้ห้องสมุดนี้แข็งแกร่งที่สุด นี่ยังอยู่ในช่วงเริ่มต้น (pre-pre-alpha) ดังนั้นนี่อาจเป็นการกระทำของวิศวกรรมมากกว่า …