ฉันกำลังพยายามหา SOLID อยู่ ดังนั้นหลักการการพึ่งพาการพึ่งพาจึงหมายความว่าสองคลาสใด ๆ ควรสื่อสารผ่านอินเทอร์เฟซไม่ใช่โดยตรง ตัวอย่าง: หากclass A
มีวิธีที่คาดว่าตัวชี้ไปยังวัตถุของการพิมพ์แล้ววิธีนี้ควรจริงคาดว่าวัตถุของการพิมพ์class B
abstract base class of B
สิ่งนี้จะช่วยในการเปิด / ปิดเช่นกัน
โดยมีเงื่อนไขว่าฉันเข้าใจที่ถูกต้องคำถามของฉันจะเป็นมันเป็นวิธีที่ดีที่จะใช้นี้ทั้งหมดปฏิสัมพันธ์ชั้นเรียนหรือฉันควรพยายามที่จะคิดในแง่ของชั้น ?
เหตุผลที่ฉันสงสัยก็เพราะเราจ่ายราคาบางอย่างสำหรับการทำตามหลักการนี้ บอกว่าฉันต้องใช้คุณสมบัติZ
นี้ หลังจากการวิเคราะห์ผมสรุปได้ว่าคุณลักษณะที่Z
ประกอบด้วยฟังก์ชั่นA
, และB
C
ฉันจะสร้างซุ้มระดับZ
ที่ผ่านอินเตอร์เฟซที่ใช้เรียนA
, และB
C
ฉันเริ่มต้นการเข้ารหัสและการดำเนินการในบางจุดที่ผมทราบดีว่างานที่Z
จริงประกอบด้วยฟังก์ชั่นA
, และB
D
ตอนนี้ฉันต้องทำให้เสียC
อินเตอร์เฟส, C
คลาสต้นแบบและเขียนD
อินเตอร์เฟสและคลาสแยกกัน หากไม่มีอินเทอร์เฟซจะต้องเปลี่ยนคลาสเท่านั้น
กล่าวอีกนัยหนึ่งคือการเปลี่ยนแปลงบางสิ่งฉันต้องเปลี่ยน 1. ผู้โทร 2. ส่วนต่อประสาน 3. การประกาศ 4. การดำเนินการ ในไพ ธ อนการใช้งานร่วมกันโดยตรงฉันจะต้องเปลี่ยนเฉพาะการใช้งานเท่านั้น