Nguyên tắc mã hóa .NET nói rằng có lớp cơ sở trống hoặc giao diện (còn gọi là giao diện “thẻ”) thực sự là kiểu xấu. Kiểu ưa thích là sử dụng thuộc tính thay vì chú thích các lớp cùng loại. Ngoài ra còn có một số FxCop rule để thực thi quy ước này.
Tuy nhiên, đôi khi tôi (trong trường hợp hiếm hoi) sử dụng thành ngữ này khi lớp cơ sở chung hữu ích để biểu thị một hệ thống phân cấp chung ngay cả khi không có chức năng chung nào tồn tại. Thuộc tính không thể được sử dụng cho việc này.
Ví dụ: trong thông dịch viên cho một ngôn ngữ lập trình, một số phương thức trả về lớp cơ sở đặc biệt Value
, tức là một thứ có giá trị bên trong ngôn ngữ lập trình đó. Về cơ bản, giá trị này có thể là mọi thứ từ một số đến một chuỗi (trong đó, là các lớp đặc biệt, không phải là System.Int32
hoặc System.String
) cho đối tượng hỗn hợp. Tôi có thể cũng trả lại System.Object
nhưng điều này sẽ làm cho việc nhập giao diện công khai của tôi yếu hơn.
Lợi nhuận mã tốt, tự tạo tài liệu từ giao diện bị hạn chế.
Nguồn
2010-03-11 10:58:00
Đối tượng là một lớp cơ sở trống :) –
@Brian - Đối tượng không trống :) –
liên quan đến http://stackoverflow.com/questions/2424099/generic-interface-problem dành cho nền –