Tôi tương đối mới với thế giới phát triển phần mềm. Tôi hiện đang ở trên một dự án, đó là khá lớn, và đó là mã OO phong nha - chủ yếu là sau nguyên tắc Thiết kế theo hướng miền. Tuy nhiên, thường trong khi điều này nghe có vẻ tuyệt vời về lý thuyết, thực tế thì toàn bộ Object Relational Impedance khá tệ, và nó có nghĩa là một số phần của hệ thống khá chậm chỉ sử dụng lớp ORM, trừ khi chúng ta viết các truy vấn SQL tối ưu. Ngoài ra, đôi khi chúng tôi dường như bị kẹt cố gắng xem liệu chúng ta có nên mô hình hóa miền dựa trên hiệu suất của SQL so với các nguyên tắc OO hay không.Ứng dụng tên miền phong phú mà không có ORMs
Điều này khiến tôi hỏi điều này - đây có phải là cách hầu hết các ứng dụng được xây dựng không? Có nghĩa là - có, OO là tốt và tốt - nhưng tôi thấy thật khó để tin rằng với tất cả các vấn đề liên quan đến sự không phù hợp quan hệ đối tượng Object này, đây có phải là cách tốt nhất để xây dựng ứng dụng không? Cách tiếp cận khác mà tôi có thể nghĩ đến là mương ORM và chỉ có mô hình miền, và viết các truy vấn SQL nguyên gốc trực tiếp bằng tay một cách thống nhất. Tôi muốn biết liệu có thực sự các hệ thống phần mềm có kích thước đủ được xây dựng theo cách này hay không.
Tôi xin lỗi nếu tôi có âm thanh n00bish - nhưng tôi mới và muốn biết những phương pháp tiếp cận nào khác đang có.
+1 cho thực tế là các hàng đơn lẻ giống nhau và nhận xét mà tôi hoàn toàn không bao giờ nghe và bắt đầu nghĩ rằng tôi là người duy nhất tin tưởng rằng bất kỳ mã nào có thể được tạo sẽ được tạo. Tuy nhiên, tôi không đồng ý rằng mã được tạo ra ORM hoạt động tốt, thường là do các thiết kế bảng đáng sợ mà bạn nhận được từ việc lập mô hình trên các ý tưởng OO thay vì quan hệ. Nhưng vẫn đáng +1 +1 –
+1 cho câu lệnh "bất kỳ mã nào có thể được tạo nên được tạo". Tôi có lẽ sẽ hậu tố nó với "tốt" - tức là không chỉ tạo mã, tạo mã _good_. Nhưng nguyên tắc là viết tắt. – sfinnie
@Ken Downs, đó sẽ là vấn đề với thiết kế chứ không phải với chính ORM. Nhưng tôi nhận được quan điểm của bạn, và hoàn toàn đồng ý. – Ronnis