Tôi đang phát triển một ứng dụng bằng SQLAlchemy và wxPython mà tôi đang cố gắng phân phối trong các mô-đun riêng biệt bao gồm logic nghiệp vụ, ORM và GUI.Cách sắp xếp mã nguồn của một ứng dụng được tạo bằng SQLAlchemy và giao diện đồ họa?
Tôi không hoàn toàn chắc chắn cách thực hiện điều này theo cách nhiệt tình.
Cho rằng mapping()
phải được gọi trong orther cho các đối tượng được sử dụng, tôi nghĩ đặt nó trên __init__.py
của logic kinh doanh, nhưng giữ tất cả các định nghĩa bảng trong một mô-đun riêng biệt orm.py
.
Tôi có nên giữ cái gì đó như:
/Business
/__init__.py
| mapping (module1.Class1, orm.table1)
|
/module1.py
Class1
/orm.py
import
table1 = Table()
/GUI
/main.py
| import business
/crud.py
hoặc một cái gì đó giống như
/Business
/__init__.py
| import
|
/module1.py
Class1
table1 = Table()
mapping (module1.Class1, orm.table1)
/GUI
/main.py
| import business
/crud.py
là phương pháp đầu tiên được đề nghị? Có lựa chọn nào khác? Tôi đã nhìn thấy cách thứ hai, nhưng tôi không thích đặt mã xử lý cơ sở dữ liệu và mã logic kinh doanh trong cùng một mô-đun. Tôi có bị lật đổ không? Thực sự không phải là một vấn đề lớn?
Dường như câu hỏi này có thể chạm vào nhiều hơn chỉ SQLAlchemy - bất kỳ thực hành tốt nhất nào về cách tổ chức mã dự án giao diện đáng kể với cơ sở dữ liệu? – ariddell
@aridell: bạn có thể đúng, nhưng SQLAlchemy có một cách cụ thể để thiết lập ánh xạ, có thể hoặc có thể không khác với cách ORM hiện có hoặc ORM tùy chỉnh thực hiện. Nhưng chắc chắn nó không phải wxPython cụ thể. – voyager