Có một số chủ đề xuất phát từ câu hỏi này:
- giao diện so với các lớp
- lớp cụ thể nào, từ một số lớp giống nhau, tập hợp, danh sách, mảng?
- Các lớp chung so với tập hợp con ("generics")
Bạn có thể muốn nhấn mạnh rằng API hướng đối tượng của nó
giao diện so với các lớp
Nếu bạn không có nhiều kinh nghiệm với các giao diện, tôi khuyên bạn nên theo học. Tôi thấy rất nhiều lần các nhà phát triển chuyển sang giao diện, ngay cả khi nó không phải là hoàn toàn khác.
Và, hãy chấm dứt việc thiết kế giao diện kém, thay vào đó là một thiết kế lớp tốt, nhân tiện, cuối cùng có thể được chuyển sang một thiết kế giao diện tốt ...
Bạn sẽ thấy rất nhiều giao diện trong API, nhưng đừng vội sử dụng nó, nếu bạn không cần.
Cuối cùng, bạn sẽ học cách áp dụng các giao diện vào mã của mình.
lớp cụ thể nào, từ một số lớp giống nhau, tập hợp, danh sách, mảng?
Có một số lớp trong c # (dotnet) có thể được hoán đổi cho nhau. Như đã đề cập, nếu bạn cần thứ gì đó từ một lớp cụ thể hơn, chẳng hạn như "CanBeSortedClass", thì hãy làm cho nó rõ ràng trong API của bạn.
Người dùng API của bạn có thực sự cần biết rằng lớp của bạn có thể được sắp xếp hay áp dụng một số định dạng cho các phần tử không? Sau đó sử dụng "CanBeSortedClass" hoặc "ElementsCanBePaintedClass", nếu không thì sử dụng "GenericBrandClass".
Nếu không, hãy sử dụng một lớp tổng quát hơn.
Các lớp tập hợp chung so với tập hợp con ("generics")
Bạn sẽ thấy rằng có những lớp chứa các phần tử khác và bạn có thể chỉ định rằng tất cả các phần tử phải thuộc một loại cụ thể.
Bộ sưu tập Chung là những lớp mà bạn có thể sử dụng cùng một bộ sưu tập, cho một số ứng dụng mã, mà không cần phải tạo một bộ sưu tập mới, cho mỗi loại subitem mới, như sau: Bộ sưu tập .
Người dùng API của bạn có cần một loại rất cụ thể, giống nhau cho tất cả các phần tử không?
Sử dụng một cái gì đó như List<WashingtonApple>
.
Người dùng API của bạn có cần một số loại liên quan không?
Vạch trần List<Fruit>
cho API của bạn, và sử dụng List<Orange>
List<Banana>
, List<Strawberry>
trong nội bộ, nơi Orange
, Banana
và Strawberry
là hậu duệ từ Fruit
.
Người dùng API của bạn có cần một bộ sưu tập kiểu chung không?
Sử dụng List
, nơi có object
(các) mục.
Chúc mừng.