Tôi sẽ trích dẫn một số đoạn trong Mô hình triển khai của Kent Beck:
Tên lớp đơn giản
"[...] Những cái tên nên ngắn gọn và mạnh mẽ. Tuy nhiên, để làm cho tên chính xác đôi khi dường như cần nhiều từ. Một cách thoát khỏi tình thế khó xử này là chọn một phép ẩn dụ mạnh mẽ cho phép tính. Với một phép ẩn dụ trong tâm trí, thậm chí các từ đơn lẻ mang đến cho chúng một mạng lưới liên kết, kết nối và hàm ý phong phú. Ví dụ: trong khung vẽ HotDraw, tên đầu tiên của tôi cho một đối tượng trong bản vẽ là
DrawingObject . Ward Cunningham đi cùng với phép ẩn dụ kiểu chữ: một bản vẽ giống như một trang in, có bố cục. Các mục đồ họa trên một trang là các số liệu, do đó, lớp trở thành Hình . Trong ngữ cảnh của phép ẩn dụ, Hình
đồng thời ngắn hơn, phong phú hơn và chính xác hơn so với DrawingObject . "
Tên lớp con đủ điều kiện
"Tên của các lớp con có hai công việc. Chúng cần giao tiếp với nhau rằng chúng giống lớp nào và chúng khác nhau như thế nào. [...] Không giống như tên gốc của cấu trúc phân cấp, tên lớp con không được sử dụng thường xuyên trong cuộc trò chuyện, để chúng có thể diễn đạt với chi phí ngắn gọn. [...]
Đặt tên đơn giản cho các lớp con đóng vai trò là gốc rễ của phân cấp. Ví dụ, HotDraw có một Class Handle trình bày các thao tác chỉnh sửa hình khi một hình được chọn. Nó được gọi đơn giản là Xử lý
mặc dù mở rộng Hình . Có cả một họ các tay cầm và chúng thích hợp nhất có các tên như
StretchyHandle và TransparencyHandle . Bởi vì Handle là gốc của hệ thống phân cấp của chính nó, nó xứng đáng là một tên lớp cha đơn giản hơn một tên lớp con đủ điều kiện.
Một vấn đề khác trong cách đặt tên lớp con là cấu trúc phân cấp nhiều cấp. [...] Thay vì thêm một cách mù quáng các bổ ngữ vào lớp cha ngay lập tức, hãy nghĩ về cái tên từ quan điểm của người đọc. Bạn ấy cần biết lớp này như thế nào? Sử dụng lớp cha đó làm cơ sở cho tên lớp con. "
Giao diện
Hai kiểu đặt tên giao diện phụ thuộc vào cách bạn nghĩ về các giao diện. Các giao diện dưới dạng các lớp không có triển khai nên được đặt tên như thể chúng là các lớp ( Tên lớp đơn giản , Tên lớp con đủ điều kiện ). Một vấn đề với kiểu đặt tên này là những cái tên hay được sử dụng hết trước khi bạn chuyển sang đặt tên cho các lớp. Một giao diện được gọi là Tệp cần một lớp triển khai có tên là
ActualFile , ConcreteFile hoặc (yuck!) FileImpl(vừa là hậu tố vừa là chữ viết tắt). Nói chung, giao tiếp cho dù một người đang xử lý một đối tượng cụ thể hay trừu tượng là quan trọng, liệu đối tượng trừu tượng được thực hiện như một giao diện hay một lớp cha ít quan trọng hơn. Việc trì hoãn sự phân biệt giữa các giao diện và lớp cha> được hỗ trợ bởi phong cách đặt tên này, giúp bạn có thể tự do thay đổi ý định sau này nếu điều đó> trở nên cần thiết.
Đôi khi, việc đặt tên cho các lớp cụ thể chỉ đơn giản là quan trọng đối với giao tiếp hơn là ẩn việc sử dụng các giao diện. Trong trường hợp này, các tên giao diện tiền tố bằng “I”. Nếu giao diện được gọi là IFile , thì lớp có thể được gọi đơn giản là Tệp .
Để thảo luận chi tiết hơn, hãy mua cuốn sách! Nó đáng giá! :)