คำถามติดแท็ก data-access-layer

10
การแยกตรรกะทางธุรกิจและการเข้าถึงข้อมูลใน django
ฉันจะเขียนโครงการใน Django และผมเห็นว่า 80% models.pyของรหัสที่อยู่ในแฟ้ม รหัสนี้ทำให้เกิดความสับสนและหลังจากช่วงเวลาหนึ่งฉันหยุดที่จะเข้าใจสิ่งที่เกิดขึ้นจริง นี่คือสิ่งที่รบกวนจิตใจฉัน: ฉันพบว่าน่าเกลียดที่ระดับโมเดลของฉัน (ซึ่งควรจะรับผิดชอบในการทำงานกับข้อมูลจากฐานข้อมูลเท่านั้น) ก็กำลังส่งอีเมลการเดินบน API ไปยังบริการอื่น ๆ เป็นต้น นอกจากนี้ฉันพบว่าไม่สามารถวางตรรกะทางธุรกิจในมุมมองได้เนื่องจากวิธีนี้เป็นการยากที่จะควบคุม ตัวอย่างเช่นในแอปพลิเคชันของฉันมีอย่างน้อยสามวิธีในการสร้างอินสแตนซ์ใหม่ของUserแต่ในทางเทคนิคมันควรสร้างพวกเขาอย่างสม่ำเสมอ ฉันไม่ได้สังเกตเสมอเมื่อวิธีการและคุณสมบัติของแบบจำลองของฉันไม่เป็นตัวกำหนดและเมื่อพวกเขาพัฒนาผลข้างเคียง นี่คือตัวอย่างง่ายๆ ตอนแรกUserแบบจำลองเป็นแบบนี้: class User(db.Models): def get_present_name(self): return self.name or 'Anonymous' def activate(self): self.status = 'activated' self.save() เมื่อเวลาผ่านไปมันกลายเป็นสิ่งนี้: class User(db.Models): def get_present_name(self): # property became non-deterministic in terms of database # data is taken …

11
รูปแบบ DAO และ Repository แตกต่างกันอย่างไร
อะไรคือความแตกต่างระหว่าง Data Access Objects (DAO) และรูปแบบ Repository ฉันกำลังพัฒนาแอปพลิเคชันที่ใช้ Enterprise Java Beans (EJB3), Hibernate ORM เป็นโครงสร้างพื้นฐานและ Domain-Driven Design (DDD) และ Test-Driven Development (TDD) เป็นเทคนิคการออกแบบ

12
รูปแบบพื้นที่เก็บข้อมูลเทียบกับ DAL
พวกเดียวกันหรือเปล่า? เพิ่งดูบทช่วยสอนหน้าร้านของ Rob Conneryเสร็จแล้วและดูเหมือนว่าพวกเขาจะคล้าย ๆ กัน ฉันหมายถึงเมื่อฉันใช้อ็อบเจกต์ DAL ฉันมีเมธอด GetStuff, Add / Delete และอื่น ๆ และฉันมักจะเขียนอินเทอร์เฟซก่อนเพื่อที่ฉันจะสามารถเปลี่ยน db ในภายหลังได้ ฉันสับสนหรือเปล่า?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.