2012-05-17 35 views
5

Có điều như quy ước đặt tên tiêu chuẩn cho một lớp tương tác với cơ sở dữ liệu (CRUD hoặc kiểm tra trùng lặp). Ngay bây giờ tôi chỉ cần đặt tên nó như Helper, ví dụ như một tên "Đăng ký" Một lớp học mà tương tác với bảng sẽ được đặt tên là "SubscriptionHelper"Quy ước đặt tên cho lớp tương tác với cơ sở dữ liệu

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace LoopinWineBackOffice.Helper 
{ 
    public class SubscriberHelper 
    { 
     public static bool IsEmailAlreadyInUsed(string email) 
     { 
      using (var dc = new LoopinWiineContainer()) 
      { 
       return dc.Subscribers.Any(item => item.Email==email.Trim()); 
      } 
     } 
    } 
} 

mẫu mã của tôi là một cái gì đó như thế này.

Trả lời

9

Theo kinh nghiệm của mình [và không có ý định phạm tội] khi lớp học bắt đầu nhận được tên như 'Người trợ giúp' và 'Người quản lý' đó là vì mục đích của lớp đó chưa được xác định rõ (và tôi đã phạm tội điều này trong quá khứ riêng tôi).

Trong trường hợp này, tôi sẽ suy đoán rằng bạn chưa thực sự nghĩ về mẫu truy cập dữ liệu của mình và bạn vừa có một loạt các câu lệnh đặc biệt trong lớp 'SubscriptionHelper'.

Bây giờ, nếu bạn đang triển khai mẫu truy cập dữ liệu chuẩn, ví dụ mẫu Repository, lớp của bạn sẽ được gọi là SubscriptionRepository và ý định của nó sẽ rõ ràng hơn.

Vì vậy, để trả lời câu hỏi - Không, tôi không nghĩ rằng có quy ước 'đặt tên' chuẩn cho kịch bản của bạn. Mặc dù vậy, có một số mẫu thiết kế tiêu chuẩn mà bạn có thể áp dụng cho hệ thống của mình và thông qua việc làm như vậy, bạn có thể sẽ kết thúc với quy ước đặt tên mang tính thông tin và có ý nghĩa.

Đây là điểm khởi đầu cho một số mẫu thiết kế nổi tiếng dành cho bạn: http://martinfowler.com/eaaCatalog/, nhưng không biết nhiều hơn về dự án, sẽ khó có thể hướng dẫn bạn nhiều hơn thế.

+0

Tôi đồng ý - bạn nên suy nghĩ các mẫu không đặt tên quy ước. ví dụ. MVC hoặc Kho lưu trữ. Có rất nhiều khung dữ liệu trong .Net cũng - EF - LINQ - ADO ... – SyntaxGoonoo

+0

Tôi không nghĩ có bất kỳ sự xấu hổ nào khi kết thúc với một loạt các chức năng chỉ tương tác với dữ liệu. Tôi thường làm, và khi mục đích chung của họ trở nên rõ ràng, tôi tái cấu trúc lại thành một cái gì đó có ý nghĩa hơn. – Ally

3

Có điều như quy ước đặt tên tiêu chuẩn cho một lớp học tương tác với cơ sở dữ liệu

Vâng, như thế nào về sau mô hình Bảng liệu Gateway, trong trường hợp bạn muốn có một "Subscriber Gateway" đối tượng để truy cập vào một bảng hoặc khung nhìn: chọn, chèn, cập nhật và xóa.

Cổng dữ liệu bảng: Một đối tượng hoạt động như Cổng vào bảng cơ sở dữ liệu. http://martinfowler.com/eaaCatalog/tableDataGateway.html

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