Giả sử tôi có một đối tượng tùy chỉnh, Sinh viên :
public class Student{
public int _id;
public String name;
public int age;
public float score;
}
Và một lớp, Window , được sử dụng để hiển thị thông tin của Học sinh :
public class Window{
public void showInfo(Student student);
}
Trông có vẻ khá bình thường, nhưng tôi thấy Window không hoàn toàn dễ kiểm tra riêng lẻ, vì nó cần một đối tượng Sinh viên thực sự để gọi hàm. Vì vậy, tôi cố gắng sửa đổi showInfo để nó không chấp nhận trực tiếp đối tượng Sinh viên :
public void showInfo(int _id, String name, int age, float score);
để dễ dàng kiểm tra Window riêng lẻ:
showInfo(123, "abc", 45, 6.7);
Nhưng tôi thấy phiên bản sửa đổi có một vấn đề khác:
Sửa đổi Sinh viên (ví dụ: thêm thuộc tính mới) yêu cầu sửa đổi chữ ký phương thức của showInfo
Nếu Sinh viên có nhiều tài sản, chữ ký phương thức của Sinh viên sẽ rất dài.
Vì vậy, sử dụng các đối tượng tùy chỉnh làm tham số hoặc chấp nhận từng thuộc tính trong các đối tượng làm tham số, cái nào dễ duy trì hơn?
int
tham số. Từ trang web cuộc gọi, không có xác minh rằng bạn thực sự chuyển chúng theo đúng thứ tự. Điều gì nếu bạn trao đổi id
và age
, firstName
và lastName
? Bạn đang giới thiệu một điểm tiềm năng của sự thất bại có thể rất khó phát hiện cho đến khi nó xuất hiện trên khuôn mặt của bạn và bạn đang thêm nó vào mỗi trang web cuộc gọi .
showForm(bool, bool, bool, bool, int)
phương pháp cũ - Tôi yêu những người đó ...
showInfo
yêu cầu một Chuỗi thực, một số thực và hai số thực. Làm thế nào là cung cấp mộtString
đối tượng thực sự tốt hơn so với việc cung cấp mộtStudent
đối tượng thực sự ?