Có thể chấp nhận sử dụng từ 'Cơ sở' trong tên lớp là đáy của cây thừa kế không?Sử dụng "Cơ sở" trong Tên lớp
Tôi đã luôn tìm thấy điều này một chút của một cảnh sát, chỉ cần tự hỏi nếu có ai đồng ý với tôi.
Ví dụ, nếu tôi tái cấu trúc một số yếu tố từ MyClassA và MyClassB thành một lớp cơ sở chung, tôi sẽ bị cám dỗ để tạo ra một MyBaseClass mà từ đó hai kế thừa.
Nhưng điều gì xảy ra nếu tôi cần phải tái cấu trúc MyBaseClass? MyBaseBaseClass? Bây giờ đó chỉ là ngớ ngẩn.
Tôi biết rằng Rocky Lhotka không quan tâm đến khuôn khổ CSLA của mình, nhưng tôi luôn cảm thấy khó chịu về 'definites' trong lập trình.
Suy nghĩ?
Hãy để tôi làm rõ lý do tại sao Tôi thậm chí còn lo lắng về điều này.
Tôi có hai không gian tên - MySpecificNamespace và MyCommonNamespace. MyNamespace sử dụng MyCommonNamespace, như bạn có thể mong đợi.
Bây giờ, tôi muốn sử dụng tối đa Không gian tên bất cứ khi nào có thể để mô tả bối cảnh của sự cố và tránh thêm ngữ cảnh vào tên lớp. Vì vậy, ví dụ, hãy xem xét rằng tôi có một lớp trong MyNamespace mà xuống từ một trong MyCommonNamespace.
Lựa chọn A
tôi thể cuộc gọi này
MySpecificClass: MyClass
{
}
Nhưng sau đó tôi thêm 'Cụ' (ngữ cảnh) để tên - đó là không cần thiết vì nó đã có trong MySpecificNamespace.
Lựa chọn B
MyClass: MyCommonNamespace.MyClass
{
}
Bạn có thể xem làm thế nào chúng ta có thể bị lẫn lộn ở đây, phải không?
Lựa chọn C
Người tôi nghĩ là tanh:
MyClass: MyBaseClass
{
}
câu hỏi hay. cảm ơn – frameworkninja
Cảm ơn câu hỏi. Đã trở thành mục nhập thứ hai trên truy vấn mà tôi đã nhập vào Google, muốn xem liệu có ai đó đã hỏi điều tương tự không, cũng như chỉ đổi tên các lớp và tự làm "Yuk!" :) –
Ngoài ra, hãy xem http://stackoverflow.com/questions/429470/naming-conventions-for-abstract-classes – nawfal