14
แนวคิดเรื่อง“ องค์ประกอบของความโปรดปรานเหนือมรดก” นี้มาจากไหน?
ในช่วงไม่กี่เดือนที่ผ่านมามนต์ "องค์ประกอบที่เป็นที่โปรดปรานเหนือมรดก" ดูเหมือนจะเด้งขึ้นมาจากที่ไหนเลยและกลายเป็นเกือบ meme บางอย่างภายในชุมชนการเขียนโปรแกรม และทุกครั้งที่ฉันเห็นฉันก็รู้สึกงงเล็กน้อย มันเหมือนมีคนพูดว่า "ชอบการฝึกฝนมากกว่าค้อน" จากประสบการณ์ของฉันการจัดองค์ประกอบและการรับมรดกเป็นเครื่องมือสองแบบที่แตกต่างกันกับกรณีการใช้งานที่แตกต่างกันและจัดการกับมันราวกับว่าพวกมันใช้แทนกันได้และอีกอันหนึ่งเหนือกว่าอีกอันหนึ่ง นอกจากนี้ฉันไม่เคยเห็นคำอธิบายที่แท้จริงว่าทำไมการรับมรดกจึงไม่ดีและการจัดองค์ประกอบเป็นสิ่งที่ดีซึ่งทำให้ฉันสงสัยมากขึ้น ควรที่จะได้รับการยอมรับในความเชื่อหรือไม่? การทดแทน Liskov และ polymorphism นั้นเป็นที่รู้จักกันดีผลประโยชน์ที่ชัดเจนและ IMO ประกอบด้วยจุดทั้งหมดของการใช้การเขียนโปรแกรมเชิงวัตถุและไม่มีใครอธิบายได้ว่าทำไมพวกเขาจึงควรทิ้งองค์ประกอบเหล่านั้น ไม่มีใครรู้ว่าแนวคิดนี้มาจากไหนและเหตุผลที่อยู่เบื้องหลังมันคืออะไร?