Hãy để tôi bắt đầu bằng cách nói rằng tôi không ủng hộ cách tiếp cận này, nhưng tôi đã nhìn thấy nó gần đây và tôi đã tự hỏi nếu có một tên cho nó tôi có thể sử dụng để chỉ các bên có tội đến. Vì vậy, ở đây đi.Có tên nào cho mùi chống mẫu/mã này không?
Bây giờ bạn có một phương thức và bạn muốn trả về một giá trị. Bạn cũng muốn trả lại mã lỗi. Tất nhiên, ngoại lệ là một lựa chọn tốt hơn nhiều, nhưng vì lý do nào đó bạn muốn có một mã lỗi thay thế. Hãy nhớ rằng, tôi đang chơi người ủng hộ ma quỷ ở đây. Vì vậy, bạn tạo ra một lớp chung chung, như thế này:
class FunctionResult<T>
{
public T payload;
public int result;
}
Và sau đó tuyên bố chức năng của bạn như thế này:
FunctionResult<string> MyFunction()
{
FunctionResult<string> result;
//...
return result;
}
Một biến thể của mô hình này là sử dụng một enum cho mã lỗi thay vì một chuỗi . Bây giờ, trở lại câu hỏi của tôi: có một cái tên cho điều này không, và nếu có thì nó là gì?
"Ai đó không phải là thằng ngốc sẽ đập ngón tay của tôi bằng một cái búa khi họ nhìn thấy" hình mẫu "này. Nhưng điều đó khá nhiều áp dụng cho tất cả các mẫu đối tượng. – Will
Nếu đây là một mô hình chống, thì khuyến nghị cho các ngôn ngữ không hỗ trợ trực tiếp ngoại lệ là gì (tôi đang nghĩ đến VB/VBA). –
Nếu chúng không hỗ trợ ngoại lệ, chúng có thể không hỗ trợ mẫu/generics. –