Tôi có một lớp tĩnh chứa logic cơ sở dữ liệu của mình.Làm cách nào để lớp tĩnh của tôi không tĩnh?
Lớp này được sử dụng trong trang web, dịch vụ web và là một phần của thành phần phần mềm trung gian.
Đối với mọi phương thức trong lớp này, tôi cần một phần thông tin ngữ cảnh từ người gọi. Trong trường hợp trang web này sẽ là thông tin người dùng, đối với dịch vụ web và thành phần phần mềm trung gian, điều này sẽ xác định dịch vụ gọi điện.
Tôi không thể lưu trữ giá trị này trong cấu hình vì điều này có thể khác nhau cho mỗi người dùng và tôi không luôn có httpcontext để nhận được điều này.
Tôi có thể dễ dàng thêm tham số mới vào mọi phương thức trong lớp này hoặc tôi có thể thay đổi nó từ một lớp tĩnh để nó có một thuộc tính không tĩnh nhưng không có giải pháp nào có vẻ rất thanh lịch.
Vì vậy, có bất kỳ tùy chọn nào khác mà tôi chưa xem xét không?
danh hiệu tuyệt vời^^ "làm thế nào để tôi làm cho singleton của tôi không quá singleton" – tanascius
@tanascius - vô giá +1 gây ra thats tất cả tôi có thể cung cấp cho. @chris, bạn có thể muốn suy nghĩ lại chiến lược của mình. Trong một tuyên bố chăn chung chung tôi sẽ nói 'DAL tĩnh là yêu cầu cho rắc rối'. .2 peso. –
@Sky Sanders - tách lông ở đây nhưng DAL là linq để sql lớp học, đây là logic cơ sở dữ liệu của tôi mà ngồi trên đầu trang của điều đó. Bỏ qua thực tế là tôi đã chấp nhận câu trả lời và đi xuống tuyến đường không tĩnh, bạn có thể đủ điều kiện tuyên bố "yêu cầu sự cố" của mình không? Tại sao lớp tĩnh lại là một ý tưởng tồi? –