Tôi đã đọc một số câu hỏi khác về chủ đề này (here, here và here), nhưng chưa thấy câu trả lời hay. Tôi đã phát triển chia sẻ công bằng các lớp truy cập dữ liệu trước và cá nhân thích sử dụng các lớp thể hiện thay vì các lớp tĩnh. Tuy nhiên, nó là nhiều hơn một sở thích cá nhân (tôi muốn kiểm tra đối tượng kinh doanh của tôi, và cách tiếp cận này làm cho mocking ra DAL dễ dàng hơn). Tôi đã sử dụng các lớp tĩnh để truy cập cơ sở dữ liệu trước đây, nhưng tôi đã luôn cảm thấy một chút không an toàn trong sự phù hợp của một thiết kế như vậy (đặc biệt là trong một môi trường ASP.NET).Ưu điểm/khuyết điểm của việc lựa chọn giữa các lớp truy cập dữ liệu tĩnh và cá thể trong ứng dụng web là gì?
Bất cứ ai cũng có thể cung cấp một số ưu điểm/nhược điểm liên quan đến hai phương pháp tiếp cận này để phát triển các lớp truy cập dữ liệu với các nhà cung cấp ADO.NET (không có ORM), trong một ứng dụng ASP.NET nói riêng. Cảm thấy tự do để kêu vang trong nếu bạn có một số lời khuyên chung lớp tĩnh hơn so với trường hợp cụ thể là tốt.
Đặc biệt, vấn đề tôi quan tâm là:
- Threading & đồng thời
- Khả năng mở rộng
- Performance
- Bất kỳ ẩn số khác
Cảm ơn!
Tôi nghĩ rằng những thuận xa hơn so với khuyết điểm, ít nhất là theo ý kiến của tôi. Và đối với tiêu thụ bộ nhớ, tôi nghĩ rằng đó có lẽ là một nhược điểm không đáng kể trong hầu hết các ứng dụng. –
@Kevin Babcock: Cá nhân tôi hầu như luôn cố gắng sử dụng các cách tiếp cận dựa trên cá thể. Nếu tôi muốn/cần tĩnh, tôi thường đi đến một singleton, vì đó là dễ dàng hơn để thích nghi với một multiton hoặc một cách tiếp cận dụ sau này (kể từ khi bạn vẫn làm việc với các trường hợp ...) –
@ReedCopsey những gì về cho một lớp hữu ích làm công việc dọn dẹp cơ bản, như xác thực dữ liệu? –