Giả sử tôi có một phương phápHợp đồng nào (Thiết kế theo hợp đồng) tốt hơn?
public Patient(int id)
{
----
}
trả về đối tượng bệnh nhân đưa ra một id .. Tôi có thể xác định hợp đồng trong 2 cách
- Phương sẽ trả về null nếu bệnh nhân không tồn tại
- Phương pháp sẽ ném ngoại lệ nếu bệnh nhân không tồn tại. Trong trường hợp này, tôi cũng sẽ xác định phương thức truy vấn trả về true nếu Bệnh nhân tồn tại trong cơ sở dữ liệu hoặc sai khác ...
Tôi nên sử dụng hợp đồng nào? Bất cứ một đề nghị nào khác?
Cập nhật: Xin nhận xét về trường hợp này quá ... Nếu nó không phải là một cơ sở dữ liệu Id giao và nó là một cái gì đó một người dùng nhập vào giao diện người dùng .. như SSN .. sau đó cái nào là tốt hơn ..
Bình luận về mô hình Null từ Steve mà tôi nghĩ là hợp lệ: có lẽ không phải là một ý tưởng tốt ở đây, vì nó sẽ thực sự hữu ích để biết ngay lập tức khi một ID không tồn tại.
Và tôi cũng nghĩ rằng mô hình Null đây sẽ là trọng lượng hơi nặng
Cảm nhận từ Rob Wells vào ném ngoại lệ vì Id xấu của nó: tôi không nghĩ rằng một lỗi đánh máy trong tên của bệnh nhân là một hoàn cảnh đặc biệt" IMHO
Mặc dù về các tầng thay thế +1 –
Awesome ... Thiết kế theo hợp đồng – StackUnderflow