Trong một số dự án của chúng tôi, có một hệ thống phân cấp lớp bổ sung thêm các thông số khi nó đi xuống chuỗi. Ở phía dưới, một số lớp có thể có tối đa 30 tham số, 28 trong số đó chỉ được truyền vào hàm tạo siêu.Quản lý các hàm tạo với nhiều tham số trong Java
Tôi sẽ thừa nhận rằng việc sử dụng DI tự động thông qua một cái gì đó như Guice sẽ tốt đẹp, nhưng vì một số lý do kỹ thuật, các dự án cụ thể này bị ràng buộc với Java.
Quy ước sắp xếp đối số theo thứ tự bảng chữ cái không hoạt động vì nếu loại được tái cấu trúc (Vòng tròn bạn đã chuyển cho đối số 2 giờ là Hình dạng), nó có thể đột ngột bị hỏng.
Câu hỏi này có thể cụ thể và đầy "Nếu đó là vấn đề của bạn, bạn đang làm sai ở mức thiết kế" chỉ trích, nhưng tôi chỉ tìm kiếm bất kỳ quan điểm nào.
Tất nhiên với nhập khẩu tĩnh bạn thậm chí không bao giờ phải "nhìn thấy" những "nhà xây dựng" ở tất cả. Ví dụ, bạn có thể có tên phương thức tĩnh (String name) trả về một trình tạo và Student (StudentBuilder) trả về một sinh viên. Do đó Học sinh (tên ("Joe"). Tuổi (15) .motto ("Tôi đã ướt bản thân mình")); –
@oxbow_lakes: Trong ví dụ của bạn, lớp nào có tên phương thức tĩnh (Tên chuỗi)? – user443854
Về mặt kỹ thuật, có thể sử dụng lớp Học sinh để xây dựng một học sinh mới. Tôi đã thêm các phương thức bên trong lớp Student và nó hoạt động tốt. Bằng cách này tôi không cần phải có một lớp xây dựng khác. Tôi không chắc chắn nếu điều này là mong muốn mặc dù. Có lý do nào để sử dụng lớp học khác (StudentBuilder) để xây dựng nó không? – WVrock