Tôi đang sử dụng SqlAlchemy, một thư viện ORM trăn. Và tôi sử dụng để truy cập cơ sở dữ liệu trực tiếp từ lớp kinh doanh trực tiếp bằng cách gọi API SqlAlchemy. Nhưng sau đó tôi thấy rằng sẽ gây ra quá nhiều thời gian để chạy tất cả các trường hợp thử nghiệm của tôi và bây giờ tôi nghĩ rằng có lẽ tôi nên tạo một lớp truy cập DB, vì vậy tôi có thể sử dụng các đối tượng giả trong quá trình kiểm tra thay vì truy cập cơ sở dữ liệu trực tiếp. NGUYÊN NHÂNCách tổ chức lớp Truy cập cơ sở dữ liệu?
Tôi nghĩ có 2 lựa chọn để làm điều đó:
sử dụng một lớp duy nhất, trong đó có một kết nối DB và nhiều phương pháp như adduser/delUser/updateUser, addBook/delBook/updateBook. Nhưng điều này có nghĩa là lớp học này sẽ rất lớn.
Một cách tiếp cận khác là tạo các lớp người quản lý khác nhau như "UserManager", "BookManager". Nhưng điều đó có nghĩa là tôi phải chuyển một danh sách các nhà quản lý đến lớp Business, có vẻ hơi cồng kềnh.
Bạn sẽ tổ chức lớp cơ sở dữ liệu như thế nào?
Xin chào, vì một số đồng nghiệp của tôi đã nhấn mạnh rằng chúng tôi nên sử dụng quy trình lưu trữ và tôi không kiểm soát được điều đó, vì vậy sqlite không phải là lựa chọn khả dĩ cho tôi. – ablmf
BTW: sqlite không hỗ trợ quy trình lưu trữ. – ablmf
Hm. Điều này có nghĩa là bạn sẽ phải giả lập các phần quan trọng của mã (các thủ tục được lưu trữ). Điều đó sẽ làm cho các bài kiểm tra ít hữu ích hơn nhiều. Tình huống phức tạp. –