Hôm nay tôi đã đi đến một nghịch lý cơ bản của phong cách lập trình đối tượng, các loại bê tông hoặc giao diện.Loại bê tông hoặc Giao diện cho loại trả lại?
Làm cách nào tốt hơn cho loại trả về của phương thức: loại bê tông hoặc giao diện?
Trong hầu hết các trường hợp, tôi có xu hướng sử dụng các loại cụ thể làm kiểu trả về cho các phương thức. bởi vì tôi tin rằng một loại cụ thể là linh hoạt hơn để sử dụng thêm và cho thấy nhiều chức năng hơn.
Mặt tối của điều này: Khớp nối. Thiên thần: Một loại bê tông chứa giao diện bạn sẽ quay trở lại ban đầu và thêm chức năng.
Quy tắc ngón tay cái của bạn là gì?
Có nguyên tắc lập trình nào cho điều này không?
THƯỞNG: Đây là một ví dụ về những gì tôi có nghĩa ReadOnlyCollection or IEnumerable for exposing member collections?
Cảm ơn ý kiến của bạn Dominik +1 – SDReyes
Một 'MyCustomExtendedArrayList' cụ thể hơn' Danh sách'. Bạn sẽ trở lại cái gì? – BalusC
@BalusC: Phụ thuộc vào việc triển khai Danh sách khác hoặc cung cấp một số phương thức tùy chỉnh. Sẽ có ý nghĩa gì khi trả lại một lớp chuyên biệt, nếu nó chỉ có thể được sử dụng bằng cách đúc? – Dominik