2010-02-04 28 views
9

nếu tôi có mô hình chuỗi và bộ điều khiển.số ít hoặc số nhiều trên các bộ điều khiển mô hình?

nên ở dạng số ít hoặc số nhiều cho cả mô hình và bộ điều khiển?

tôi có thể hiển thị chuỗi và cũng liệt kê các chuỗi.

không biết tôi nên sử dụng cái gì.

$thread->get_lists(); // doesnt sound good 
$threads->show(); // doesnt sound good 

Trả lời

14

không quan trọng.

Cá nhân tôi sử dụng số ít cho các kiểu máy và số nhiều cho bộ điều khiển.

Điều quan trọng là bạn chọn một sơ đồ và là nhất quán.

+0

+1 và cảm ơn vì bó-phu :) – Gordon

+0

@Gordon: ha, cảm ơn bạn. Bạn nghe về nó ở đâu? – hobodave

+0

Không thể nhớ. Hoặc thông qua Twitter hoặc vấp ngã khi nó đang tìm kiếm giải pháp tất cả trong một để rút gọn CSS và JS. – Gordon

2

KohanaPHP xử lý các thành phần MVC số ít/số nhiều của nó rất tốt. Tôi sẽ kiểm tra nó ra để tham khảo vì nó có ý nghĩa. Nhưng khi nó đi xuống nó, nó thực sự không quan trọng và nó phụ thuộc vào lập trình viên. Tôi có nghĩa là, nếu bạn đang nhận được một loạt các danh sách, làm get_lists() hoặc nếu bạn nhận được nội dung của một danh sách sử dụng get_list().

2

Giống như những người khác đã nói, điều đó không quan trọng.

Về các mô hình, tôi thích sử dụng số ít khi lớp đại diện cho một hàng, ví dụ: khi sử dụng Active Record hoặc Table Row Gateway và số nhiều khi làm việc với các lớp biểu diễn các bảng và các bản ghi, đơn giản là vì tôi có thể làm cho các trả về hoặc chứa các lớp có tên ít và tôi có thể phân biệt chúng. Nhưng sau đó một lần nữa, tôi cũng có thể đặt tên cho họ là UserTable, UserCollection và User. Sử dụng những gì đại diện tốt nhất cho miền của bạn.

Một số khung công tác có quy ước đặt tên cho các mô hình và bộ điều khiển để hoạt động một số tự động. Ví dụ, các mô hình số ít sẽ bị thổi phồng để sử dụng các bảng số nhiều theo mặc định, do đó bạn không phải tự bản đồ hóa nó. Điều này được gọi là convention over configuration; hơn, bởi vì thông thường bạn vẫn có thể cấu hình nó khi bạn thấy phù hợp.

Thời gian duy nhất khi tôi nói không quan trọng bạn đặt tên cho kiểu máy và bộ điều khiển của mình khi sử dụng code convention.

3

Điều đó tùy thuộc vào kiểu máy. Nếu các đối tượng của lớp đó đại diện chính xác một điều, hãy sử dụng số ít, nếu chúng đại diện cho nhiều thứ, hãy sử dụng số nhiều (nhưng bạn thường không cần một lớp như vậy, sử dụng một mảng/một bộ sưu tập). Cả hai đều không thể xảy ra hoặc bạn nên thiết kế lại (1).

tôi sẽ sử dụng của bạn ví dụ Chủ đề:

Nếu mỗi mô hình đối tượng một thread, đặt tên cho lớp "Chủ đề". Nếu nó mô hình một số chủ đề cùng một lúc, hãy gọi nó là "Threads" (hoặc "ThreadCollection" hoặc tương tự).

(1) Nếu bạn cần cả hai, đại diện cho một chuỗi đơn đại diện cho nhiều luồng cùng một lúc, sử dụng hai lớp riêng biệt (Chủ đề và Chủ đề) hoặc tạo một mảng hoặc tập hợp. Sau đó, bạn sẽ làm sạch nó: $ thread-> show(); $ threads-> list();

+0

Tôi thích điều này vì đối phó với cả hai danh sách và các mục đơn trong cùng một lớp thường không phải là rất hướng đối tượng. Tại sao? Bởi vì trong kinh nghiệm của tôi, những lớp này hiếm khi có bất kỳ trạng thái nào, nhưng chỉ đơn thuần là một tập hợp các hàm. – DanMan

1

Tôi biết rằng đây là một câu hỏi cũ, tuy nhiên gần đây tôi đã có một cuộc tranh luận dài với đồng nghiệp của tôi về việc này.

Trong khi cá nhân tôi thích đặc biệt cho bộ điều khiển và đồng thời hoàn toàn nghĩ rằng số ít/số nhiều không nên quan trọng/thi hành ...

Hầu hết các API nổi tiếng trên mạng đang sử dụng số nhiều cho bộ điều khiển. Đây là một lập luận cho rằng có tiềm năng rất mạnh mẽ để chấm dứt cuộc tranh luận

Ví dụ Twitter API Google plus API

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