มีคือชุดของปัญหาทางด้านเทคนิคและเชิงเทคนิคที่มีขนาดใหญ่และมีขนาดค่อนข้างใหญ่เมื่อพยายามเข้าใกล้ฐานข้อมูลเชิงสัมพันธ์จากมุมมองเชิงวัตถุ ปัญหาเหล่านี้เป็นที่รู้จักกันโดยทั่วไปว่า ไม่ตรงกันความต้านทานเชิงวัตถุและบทความวิกิพีเดียที่เกี่ยวข้องนั้นเป็นข้อมูลที่มีประโยชน์อย่างยิ่ง บทความระบุว่าค่อนข้างน้อยฉันไม่เห็นวิธีที่เหมาะสมในการอธิบายที่นี่ เพียงเพื่อให้คุณมีความคิดทั่วไปพวกเขาจะถูกจัดหมวดหมู่เป็น:
- ที่ไม่ตรงกัน
- แนวคิดเชิงวัตถุ
- ความแตกต่างของชนิดข้อมูล
- ความแตกต่างด้านโครงสร้างและความสมบูรณ์
- ความแตกต่างที่บิดเบือน
- ความแตกต่างของการทำธุรกรรม
- การแก้ปัญหาความต้านทานไม่ตรงกัน
- ลด
- สถาปัตยกรรมทางเลือก
- ค่าตอบแทน
- การต่อสู้
- ความแตกต่างทางปรัชญา
ฉันคิดว่าถ้าคุณใช้เวลาในการอ่านบทความคุณจะเข้าใจว่าข้อเท็จจริงที่ว่า ORM บางครั้งถูกอธิบายว่าเป็นรูปแบบการต่อต้านนั้นแท้จริงแล้วหลีกเลี่ยงไม่ได้ โดเมนทั้งสองนั้นแตกต่างกันมากดังนั้นวิธีการใด ๆ ที่จะปฏิบัติต่อโดเมนหนึ่งเป็นอีกโดเมนหนึ่งเป็นค่าเริ่มต้นการต่อต้านรูปแบบในแง่ที่ว่ารูปแบบการต่อต้านเป็นรูปแบบที่ขัดต่อปรัชญาของโดเมน
แต่ฉันไม่คิดว่าคำนี้ควรนำไปใช้กับสิ่งใดก็ตามที่ทำหน้าที่เป็นสะพานเชื่อมระหว่างสองโดเมนที่ต่างกันอย่างมากมาย การทำป้ายชื่อรูปแบบเป็นการต่อต้านรูปแบบเหมาะสมในโดเมนเท่านั้น คำถามที่ว่ามันเป็นแอนตี้ลวดลายหรือไม่นั้นไม่เกี่ยวข้อง
แต่มันมีประโยชน์หรือไม่ ใช่ ORM เป็นหนึ่งในรูปแบบการต่อต้านที่มีประโยชน์ที่สุด คุณจะเข้าใจว่าทำไมหากคุณพบว่าตัวเองอยู่ในสถานการณ์จริงที่คุณต้องสลับฐานข้อมูลในโครงการ หรือแม้แต่อัพเกรดเป็นเวอร์ชั่นอื่นของฐานข้อมูลเดียวกัน ORM เป็นหนึ่งในสิ่งเหล่านั้นที่คุณเข้าใจอย่างแท้จริงเมื่อคุณต้องการมันจริงๆ
นอกหลักสูตรเนื่องจากทุกอย่างมีประโยชน์ ORM มีแนวโน้มที่จะถูกละเมิด ถ้าคุณคิดว่ามันจะมาแทนที่ความต้องการที่จะรู้ทุกอย่างเกี่ยวกับฐานข้อมูลที่คุณทำงานอยู่มันจะกลับมากัดคุณ ยาก
ในที่สุดขอให้ฉันเสียบอีกหนึ่งคำตอบของฉันลงใน"รูปแบบ ActiveRecord ตาม / สนับสนุนหลักการออกแบบ SOLID หรือไม่" คำถามซึ่งสำหรับฉันเป็นคำถามที่เกี่ยวข้องมากกว่า "มันเป็นรูปแบบการต่อต้าน"