Tại sao các đối tượng LocalDate
, LocalTime
, Stream
, v.v. sử dụng phương pháp nhà máy of()
thay vì một hàm tạo?Tại sao các đối tượng LocalDate, LocalTime và Stream sử dụng phương thức factory() thay vì một hàm tạo?
Tôi đã tìm thấy giải thích tại sao nên sử dụng phương pháp nhà máy thay vì new
here. Câu trả lời này đưa ra một số lý do, nhưng điều duy nhất có liên quan đến Java Date/Time API như sau:
không giống như các nhà xây dựng, họ không bắt buộc phải tạo một đối tượng mới mỗi thời gian chúng được gọi
Vì LocalDate
và LocalTime
là không thay đổi, nên sử dụng nhà máy và sử dụng lại các đối tượng hiện có thay vì tạo đối tượng mới mỗi lần.
Đó có phải là lý do tại sao các đối tượng như LocalDate
và LocalTime
được tạo bằng phương pháp nhà máy (ví dụ: LocalDate.of()
)? Có lý do nào khác không?
Ngoài ra, Stream
đối tượng có thể thay đổi. Tại sao một phương pháp nhà máy (Stream.of()
) được sử dụng để tạo ra một Stream
?
Câu trả lời cho [câu hỏi có liên quan này về lập trình viên] (http://programmers.stackexchange.com/q/322936/187318) cũng có thể thú vị. – Hulk