Tôi sử dụng sqlite3 với ngôn ngữ c gần đây. Bất cứ ai có thể cho tôi biết một số ORM thuận tiện cho c? Có cần thiết để phát triển một cơ chế ORM cho các dự án của riêng tôi không?Có một số khung thư viện ORM thuận tiện cho c không?
Trả lời
Có nhu cầu về ORM đề xuất với tôi rằng bạn có một số loại mô hình đối tượng kinh doanh/tên miền trong tâm trí mà bạn muốn ánh xạ tới cơ sở dữ liệu.
Nếu trường hợp đó xảy ra, thì nó sẽ đánh tôi rằng bạn đang cố gắng viết một ứng dụng doanh nghiệp bằng ngôn ngữ phù hợp nhất cho lập trình hệ thống (C). Bạn có thể muốn xem xét liệu đây có phải là một chiến lược kiến trúc tốt hay không.
Hơn nữa, tôi không nghĩ rằng ORM là bao giờ có thể sẽ là một sự phù hợp tốt cho một ngôn ngữ đó:
- Không phải là bản thân đối tượng định hướng-
- Không có nhiều sự hỗ trợ cho meta- lập trình/phản ánh có xu hướng trở thành trung tâm của nhiều sơ đồ ORM
Cuối cùng, có nhiều người tin rằng ORM là một mẫu chống trong mọi trường hợp. (example, example, example)
Nhìn chung, đề nghị của tôi sẽ là một trong hai:
- Tránh ORM hoàn toàn nếu bạn có kế hoạch để tiếp tục sử dụng C
- Chuyển sang ngôn ngữ/nền tảng nơi ORM là ít nhất được hỗ trợ tốt và phù hợp với mô hình (rõ ràng nhất là Java)
Cảm ơn bạn rất nhiều. Các đề xuất hữu ích. Ý định ban đầu của tôi là tránh thao tác lặp lại để truy cập DB. Bởi vì tôi tìm thấy nhiều mã lặp lại trong dự án của tôi.Tôi đã viết một số cơ chế để làm như vậy, nhưng nó rất khó để trừu tượng hoàn toàn. Tôi xem xét để tìm ORM đầu tiên, và có rất ít. –
Một tìm kiếm google ngắn gọn đến với điều này: http://ales.jikos.cz/smorm/
Tôi chưa bao giờ sử dụng nó, do đó, không đổ lỗi cho tôi nếu nó định dạng lại tất cả các ổ đĩa cứng của bạn và làm cho tủ lạnh của bạn vừa đủ ấm để làm hỏng sữa của bạn, nhưng có vẻ như nó có thể tốt hơn không có gì nếu bạn thực sự không muốn viết truy vấn.
oh yeah. dường như các tác giả không tin tưởng vào API của mình .. –
tôi đã viết this library là "ORM cho C".
dụ mã trông giống như:
typedef struct person {
int id;
char *name;
} person;
void find_by_name(isti_db *db, const char *text, person** result) {
corm_person_select *s;
corm_person_select_alloc(&s, db);
s->name(s, "like", text)->_go_one(s, result); // populate result from the database
s->_free(s, 0); // in "real" code, 0 is a chained status value
}
không may, nó không sử dụng bất cứ nơi nào (như xa như tôi biết) và nó bao gồm một vài ý kiến cho rằng các lập trình viên dày dạn c có thể tìm thấy lẻ. nhưng nó không bị bỏ rơi - tôi vẫn quan tâm đến vấn đề này và hy vọng sẽ tiếp tục làm việc trên nó vào một thời điểm nào đó.
- 1. LLDB có biến thuận tiện ($ var) không?
- 2. Có thư viện/khung công tác nào cho SCON không?
- 3. Bạn có nghĩ thuận tiện khi chuyển sang Khung thực thể không?
- 4. @rpath cho thư viện động được nhúng trong một khung
- 5. Phương tiện phân tích cú pháp Thư viện C++
- 6. Một thư viện C++ tốt cho SOAP
- 7. Có một thư viện chứa đồng thời cho C++
- 8. Có thư viện số nhiều chuỗi tốt cho actionscript không?
- 9. Sử dụng thuận tiện Android XmlResourceParser?
- 10. Có thư viện UPnP cho .NET (C# hoặc VB.NET) không?
- 11. Có sự kiện OnLoad cho thư viện C# không?
- 12. Vẽ thư viện cho C#
- 13. Có kho lưu trữ thư viện nào cho C không?
- 14. Có thư viện hashmap cho JavaScript không?
- 15. Thư viện P2P cho C++
- 16. C# UPNP/DNLA Thư viện máy chủ phương tiện
- 17. Thư viện UUID cho C?
- 18. Có thư viện C++ XSLT nào không?
- 19. Thư viện ngoại lệ cho C (không phải C++)
- 20. Có thư viện Calculus cho JavaScript không?
- 21. Làm thế nào để thuận tiện sắp xếp số trực thuộc Trung ương trong C++ cout
- 22. Chạy Junit-Tests từ một số dự án thuận tiện nhanh chóng trong Eclipse
- 23. c/C++ Thư viện FFT không có giấy phép GPL
- 24. C/C++ Thư viện học tập máy cho Clustering
- 25. Thư viện hoặc Khung riêng?
- 26. JavaScript: Có thư viện utils không?
- 27. Có thư viện AES cho clojure không?
- 28. Có thư viện Java cho steganography không?
- 29. Có sự đồng thuận về khung kiểm tra cho Ruby 1.9.x không?
- 30. API Socket hoặc thư viện cho C++?
Có vẻ như bất kỳ ai muốn có ORM không chắc sẽ được mã hóa trong C .. –
Bạn nghĩ gì khi C thường thiếu phần Object của từ viết tắt đó? – Justin
tôi đã tự hỏi về điều này quá (một số loại thư viện để tự động truy cập từ c); nó có lẽ sẽ ánh xạ một cấu trúc đến một hàng trong một bảng. xin vui lòng downvoters/closers giải thích tại sao? –