โดยทั่วไปแล้วฉันเคยประสบปัญหาการบำรุงรักษาที่เกี่ยวข้องกับอินเทอร์เฟซที่บริสุทธิ์มากกว่า ABCs แม้แต่ ABCs ที่ใช้กับการสืบทอดหลายแบบ YMMV - ไม่ได้บางทีทีมของเราอาจใช้พวกเขาไม่เพียงพอ
ที่กล่าวว่าถ้าเราใช้การเปรียบเทียบในโลกแห่งความเป็นจริงมีการใช้งานเท่าไรสำหรับอินเทอร์เฟซที่บริสุทธิ์ปราศจากการทำงานและสถานะอย่างสมบูรณ์ ถ้าฉันใช้ USB เป็นตัวอย่างนั่นเป็นอินเทอร์เฟซที่เสถียรพอสมควร (ฉันคิดว่าตอนนี้เราอยู่ที่ USB 3.2 แต่มันก็ยังรักษาความเข้ากันได้ย้อนหลังได้)
แต่มันไม่ใช่อินเทอร์เฟซไร้สัญชาติ มันไม่ไร้ฟังก์ชั่น มันเหมือนคลาสฐานที่เป็นนามธรรมมากกว่าอินเตอร์เฟสบริสุทธิ์ จริง ๆ แล้วใกล้กับคลาสที่เป็นรูปธรรมที่มีความต้องการการทำงานและสถานะที่เฉพาะเจาะจงโดยเฉพาะสิ่งที่เป็นนามธรรมคือสิ่งที่ปลั๊กเข้ากับพอร์ตเป็นส่วนทดแทนเท่านั้น
ไม่เช่นนั้นจะเป็นเพียง "รู" ในคอมพิวเตอร์ของคุณที่มีฟอร์มแฟคเตอร์ที่ได้มาตรฐานและความต้องการในการใช้งานที่หลวมมากซึ่งจะไม่ทำอะไรด้วยตัวเองจนกว่าผู้ผลิตทุกรายจะมาพร้อมกับฮาร์ดแวร์ของตัวเอง มันจะกลายเป็นมาตรฐานที่อ่อนแอกว่าและไม่มีอะไรมากไปกว่า "รู" และสเปคของสิ่งที่ควรทำ แต่ไม่มีข้อกำหนดกลางสำหรับวิธีการทำ ในขณะเดียวกันเราอาจสิ้นสุดด้วย 200 วิธีที่แตกต่างกันหลังจากผู้ผลิตฮาร์ดแวร์ทุกคนพยายามหาวิธีที่จะแนบฟังก์ชันการทำงานและระบุถึง "รู" นั้น
และ ณ จุดนั้นเราอาจมีผู้ผลิตบางรายที่แนะนำปัญหาที่แตกต่างจากผู้อื่น หากเราจำเป็นต้องอัปเดตข้อมูลจำเพาะเราอาจมีการใช้งานพอร์ต USB คอนกรีตที่แตกต่างกัน 200 แบบพร้อมวิธีการแก้ไขปัญหาข้อมูลจำเพาะที่ต้องอัปเดตและทดสอบ ผู้ผลิตบางรายอาจพัฒนาการใช้งานมาตรฐานโดยพฤตินัยที่พวกเขาใช้ร่วมกัน (คลาสพื้นฐานแบบอะนาล็อกของคุณที่ใช้อินเทอร์เฟซนั้น) แต่ไม่ใช่ทั้งหมด บางรุ่นอาจช้ากว่ารุ่นอื่น ๆ บางคนอาจมีปริมาณงานที่ดีขึ้น แต่แฝงเร้นหรือแย่ลง บางคนอาจใช้พลังงานแบตเตอรี่มากกว่าคนอื่น บางตัวอาจหลุดลอกออกมาและไม่ทำงานกับฮาร์ดแวร์ทั้งหมดที่ควรจะทำงานกับพอร์ต USB บางคนอาจต้องติดตั้งเครื่องปฏิกรณ์นิวเคลียร์เพื่อใช้งานซึ่งมีแนวโน้มที่จะทำให้ผู้ใช้งานได้รับพิษจากรังสี
และนั่นคือสิ่งที่ฉันได้พบเป็นการส่วนตัวด้วยอินเตอร์เฟสที่บริสุทธิ์ อาจมีบางกรณีที่เหมาะสมเช่นสร้างแบบฟอร์มแฟคเตอร์ของเมนบอร์ดกับเคสซีพียู การเปรียบเทียบตัวประกอบรูปแบบนั้นแท้จริงแล้วไร้รูปแบบและไร้ฟังก์ชันเช่นเดียวกับ "หลุม" แบบอนาล็อก แต่บ่อยครั้งที่ฉันคิดว่ามันเป็นความผิดพลาดครั้งใหญ่สำหรับทีมที่จะต้องพิจารณาว่ามันจะยอดเยี่ยมกว่าในทุกกรณีไม่แม้แต่จะใกล้เคียง
ในทางกลับกันฉันคิดว่ากรณีมากกว่านี้จะได้รับการแก้ไขที่ดีกว่าโดย ABCs มากกว่าอินเทอร์เฟซถ้าสิ่งเหล่านี้เป็นตัวเลือกสองทางเว้นแต่ทีมของคุณมีขนาดมหึมาว่าจริง ๆ แล้ว เก็บรักษา ในอดีตทีมที่ฉันอยู่ฉันต้องต่อสู้อย่างหนักเพื่อคลายมาตรฐานการเข้ารหัสเพื่ออนุญาตให้ ABCs และมรดกหลายชุดและส่วนใหญ่ตอบสนองต่อปัญหาการบำรุงรักษาที่อธิบายไว้ข้างต้น