Trước khi giới thiệu về Generics với ngôn ngữ Java, tôi sẽ có các lớp văn bản đóng gói các bộ sưu tập-of-bộ sưu tập-of-bộ sưu tập. Ví dụ:Để sử dụng các bộ sưu tập chung được lồng nhau hoặc các lớp trung gian tùy chỉnh?
class Account {
private Map tradesByRegion; //KEY=Region, VALUE=TradeCollection
}
class TradeCollection {
private Map tradesByInstrument; //KEY=Instrument, Value=Trade
}
Tất nhiên, với Generics, tôi chỉ có thể làm:
class Account {
private Map<Region, Map<Instrument, Trade>> trades;
}
tôi có xu hướng đến nay lựa chọn tùy chọn # 2 (trên một phiên bản generified của tùy chọn # 1) vì điều này có nghĩa là tôi không kết thúc với sự gia tăng của các lớp tồn tại chỉ với mục đích gói một bộ sưu tập. Nhưng tôi có cảm giác dai dẳng rằng đây là thiết kế tồi (ví dụ: tôi nên sử dụng bao nhiêu bộ sưu tập lồng nhau trước khi khai báo các lớp mới). Ý kiến?
Tôi đã chỉnh sửa câu hỏi để thực hiện rõ ràng rằng một tùy chọn hậu Generics # 1 vẫn sẽ an toàn như tôi sẽ tham số Maps –