2012-01-27 30 views
14

Giả sử tôi có các lớp "cài đặt" trong bộ điều khiển và mô hình của tôi, trong ứng dụng web Java/Spring/MVC của tôi. Bây giờ, trong cả hai số /controllers//models/, tôi có nên ...quy ước đặt tên của bộ điều khiển và mô hình các lớp Java trong ứng dụng web Spring/MVC?

1) ... đặt tên cho chúng là Settings.java?

2) ... đặt tên cho chúng là SettingsController.javaSettingsModel.java hoặc tương tự?

Tôi rất tò mò về các quy ước đặt tên thông thường cũng như quy ước đặt tên được sử dụng trong trải nghiệm cá nhân của bạn hoạt động tốt. Hãy tham khảo dự án webapp của riêng bạn thay cho ví dụ của tôi, có lẽ là nghèo.

Đây là ứng dụng web MVC đầu tiên của tôi và tôi đang cố gắng cảm nhận nó.

Trả lời

21

tôi muốn đề nghị bạn gọi điều khiển của bạn SettingsController và mô hình chỉ Settings. Đó là bởi vì mô hình thực sự chứa dữ liệu của bạn. Mô hình của bạn chứa loại dữ liệu nào? Câu trả lời là: cài đặt. Vì vậy, hãy gọi nó là cài đặt.

Bộ điều khiển là một câu chuyện khác. Nó là một lớp học giao dịch với bạn dữ liệu. Có thể có nhiều lớp xử lý cài đặt: SettingsBuilder, SettingsFactory, SettingsUtil, SettingsService v.v. Đây là một bộ điều khiển, vì vậy hãy gọi nó là SettingsController.

+2

Điều này dường như là câu trả lời chính xác và nó có ý nghĩa hoàn toàn. Cảm ơn bạn. Bạn vừa mở rộng hiểu biết của tôi về MVC. – Xonatron

+0

Bạn được chào đón – AlexR

1

Tôi nghĩ rằng phong cách sau đây là chặt chẽ nhất

com.company.web.controller 
       +- SettingsController.java 
com.company.web.model 
       +- Settings.java 

Lý do là Settings là một cái tên mô tả nó là chính xác những gì, trong khi SettingsController mô tả rằng đó là một bộ điều khiển làm việc trên Settings đối tượng.

+0

Tôi đồng ý với cách đặt tên của bạn, nhưng không đồng ý với kết cấu gói - Tôi muốn có cả hai trong cùng một gói, hoặc ít nhất là dưới cùng một gói cây. Nhưng đó cũng có thể là vấn đề ưu tiên. –

+0

@RobHruska chúng ta có nó đặt cùng một cách, với 'com.subdomainname.controllers' và' com.subdomainname.models', và đây là cấu trúc công ty tôi làm việc để sử dụng, vì vậy tôi phải làm theo cùng. – Xonatron

5

Vì các lớp mô hình mô tả các thực thể 'đời thực', tốt hơn nên gọi chúng theo tên, vì vậy trong trường hợp của bạn, nó sẽ là Settings.java.

Bộ điều khiển, mặt khác, chỉ là sản phẩm phụ của việc sử dụng kiến ​​trúc cụ thể (MVC) để nó có hậu tố Controller và trong trường hợp của bạn trở thành SettingsController.java.

Nếu bạn đã sử dụng ứng dụng của mình bằng jsf, bạn vẫn có thể có Settings.java làm mô hình, nhưng SettingsBean.java làm bộ điều khiển (rõ ràng đó chỉ là một quy ước khác và bạn có thể gọi nó theo cách bạn muốn).

3

Tên họ SettingsController.javaSettings.java

2

Tôi muốn chọn Settings.java và SettingsController.java.

* Bộ điều khiển tuân theo quy ước đặt tên bộ điều khiển của Spring. Hơn nữa nó cho phép lập trình viên hiểu ngay lập tức những gì lớp đó làm.

Nói chung tôi luôn luôn plump cho các tên đơn giản cho POJO's, Settings.java dường như phù hợp với các hóa đơn ở đây.

1

Tôi phải đồng ý với các áp phích trước, Mô hình chỉ nên là tên của thực thể, và sau đó bất cứ điều gì tính từ phải là hậu tố của thực thể, vì vậy Cài đặt và SettingsController Đây là nguyên tắc tôi thường xuyên sử dụng. Tôi cũng sử dụng cài đặt làm tên của trang web.

0

Tôi sẽ sử dụng

com.company.controller.SettingsServlet.java cho bộ điều khiển và com.company.model.Settings.java cho lớp mô hình.

Bạn có thể chỉ ra khía cạnh bộ điều khiển của lớp Bộ điều khiển bằng cách đặt tên gói com.company.controller nhưng nó là Servlet sau tất cả và sẽ không thể nhầm lẫn như bất kỳ điều gì khác với tên này. Một bộ điều khiển về mặt kỹ thuật có thể là bất cứ thứ gì thuộc loại nào. Lớp mô hình cũng được chỉ định bởi tên gói của nó.

To Follow bởi đức tin mà thôi là làm theo một cách mù quáng - Benjamin Franklin

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