Tôi không chắc chắn cách đặt tên lớp lưu trữ dữ liệu khi thiết kế lớp truy cập dữ liệu của chương trình (DAL).Thuật ngữ kiên trì đối tượng: 'kho' so với 'lưu trữ' so với 'ngữ cảnh' so với 'truy xuất' so với (...)
(By lưu trữ dữ liệu lớp, ý tôi là một lớp học đó là trách nhiệm để đọc một đối tượng tiếp tục tồn tại vào bộ nhớ, hoặc để tồn tại một đối tượng trong bộ nhớ.)
Có vẻ như hợp lý để đặt tên cho một lớp lưu trữ dữ liệu theo hai điều:
- loại đối tượng mà nó xử lý;
- cho dù tải và/hoặc vẫn tồn tại các đối tượng đó.
⇒ Một lớp có thể tải Banana
đối tượng có thể được gọi là ví dụ: BananaSource
.
Tôi không biết cách đi về điểm thứ hai (ví dụ: Source
bit trong ví dụ). Tôi đã nhìn thấy danh từ khác nhau dường như được sử dụng để chỉ mục đích đó:
- kho: điều này nghe rất chung chung. Điều này biểu thị một cái gì đó đọc/ghi có thể truy cập?
- lưu trữ: điều này nghe có vẻ giống như nội dung có khả năng cho phép quyền ghi.
- ngữ cảnh: âm thanh rất trừu tượng. Tôi đã thấy điều này với LINQ và các trình lập bản đồ quan hệ đối tượng (ORM).
P.S. (vài tháng sau): Điều này có thể thích hợp cho các thùng chứa chứa các đối tượng "hoạt động" hoặc được giám sát khác (mô hình Đơn vị công việc xuất hiện trong đầu). - retriever: nghe có vẻ giống như chỉ đọc.
- nguồn & sink: có thể không phù hợp với đối tượng bền bỉ; phù hợp hơn với luồng dữ liệu?
- trình đọc/writer: khá rõ ràng về ý định của nó, nhưng âm thanh quá kỹ thuật đối với tôi.
Có phải những tên này tùy ý hoặc có những khác biệt được chấp nhận rộng rãi/khác biệt ngữ nghĩa đằng sau mỗi? Cụ thể hơn, tôi tự hỏi:
- Tên nào phù hợp cho các cửa hàng dữ liệu chỉ đọc?
- Tên nào phù hợp cho các kho dữ liệu chỉ ghi?
- Tên nào sẽ phù hợp với hầu hết các cửa hàng dữ liệu chỉ đọc mà thỉnh thoảng được cập nhật?
- Tên nào phù hợp cho hầu hết các cửa hàng dữ liệu chỉ ghi mà thỉnh thoảng được đọc?
- Có một tên nào phù hợp với tất cả các trường hợp không?
Câu hỏi hay, tôi đã cân nhắc điều này trong dự án hiện tại của mình. Tôi đã sử dụng 'Store' để đọc/ghi và' Dịch vụ' chỉ đọc (ví dụ: 'UserService.GetUserById (1)'). Điều duy nhất tôi không thích là để nhớ tên của một cái gì đó tôi phải biết/nhớ hành vi của nó. Nó không hoàn toàn ngồi đúng mà tôi đang sử dụng 2 danh từ khác nhau theo cách này. Quan tâm để biết nếu có một quy ước tiêu chuẩn (ish). – fearofawhackplanet