2012-04-30 24 views
5

tìm trong ngăn xếp máy chủ nodejs với nútjs/express và mongoosemongoose thực hành tốt nhất với lớp dữ liệu trong ứng dụng nút

Giải pháp thực hành tốt nhất là gì?
(1) Tạo một module DataModel mongoose sau đó làm việc với mô hình đối tượng
(2) Tạo một module wrapper dataLayer rằng trong nội bộ sẽ sử dụng mô hình mongoose

Ưu điểm cho (1)
Tôi thực sự thích Các lớp kiểu OOP mongoose mang lại cho tôi, thêm các phương thức của riêng tôi, các bộ định tuyến và các xiềng xích của riêng tôi, tôi có thể thêm xác thực và xử lý sự kiện và sử dụng DataModel mà không cần định nghĩa lại nó trong một mô-đun khác.

Ưu điểm cho (2)
tôi sẽ có thể mockup lớp dữ liệu với việc thực hiện đơn giản hơn (xét nghiệm, vv ..) hoặc chuyển sang một cơ sở dữ liệu nếu cần thiết.

Bạn nghĩ sao?

+1

Cảm ơn câu hỏi này, tôi cảm thấy có một cuộc thảo luận về cách sử dụng Mongoose bên ngoài bản trình diễn đồ chơi. – Paul

Trả lời

3

Tôi thường bắt đầu với tùy chọn đơn giản và ít phức tạp nhất để bắt đầu và chỉ di chuyển đến một tùy chọn phức tạp hơn khi thực sự cần thiết. Vì vậy, trong trường hợp này tôi luôn bắt đầu với Option 1 và vẫn chưa tìm thấy một instance mà tôi muốn tôi đã bắt đầu với Option 2. Nếu tôi thực sự cần thay đổi cơ sở dữ liệu, tôi sẽ thực hiện công việc đó thay vì làm nhiều việc hơn. Tôi có thể không bao giờ cần.

Hãy nhớ rằng điều này phụ thuộc vào mức độ lớn của dự án và số lượng người đang làm việc trên đó. Nếu đó là một nhóm nhỏ (hoặc chỉ có bạn) các lớp trừu tượng thêm thường không cần thiết. Nếu đó là một dự án lớn với một đội ngũ lớn, tôi sẽ mất nhiều thời gian hơn để tìm ra kiến ​​trúc tốt nhất để duy trì lâu dài.

Các vấn đề liên quan