thể trùng lặp:
Extension Methods vs Static Utility ClassPhương pháp mở rộng so với Helper Lớp
Tôi đang xây dựng một API chức năng chung mà thực hiện hành động dựa trên các đối tượng trong .NET. Ví dụ; Tôi đã tạo một hàm kiểm tra chuỗi để xem đó có phải là địa chỉ email không.
tôi có thể hoặc có:
static bool IsEmailAddress(string text)
{
return IsMail(text);
}
hoặc tôi có thể tạo ra một phương pháp khuyến nông sẽ được sử dụng như sau:
string text = "[email protected]";
if (text.IsEmailAddress())
{
}
đó là phù hợp hơn, hoặc bạn có nghĩ rằng vì đây là một thư viện đa năng, tôi có thể triển khai kỹ thuật theo cả hai cách và cho phép nhà phát triển quyết định cái nào là tốt nhất cho họ?
** BTW: ** sử dụng 'trả về IsMail (văn bản)' thay vì câu lệnh if. –
Tôi muốn đi với các phương pháp mở rộng VÀ tái cấu trúc Mahmoud đề xuất. –
Tôi nghĩ rằng đó không phải là trách nhiệm của 'chuỗi' để biết địa chỉ email là gì. Vì vậy, tôi không nghĩ rằng đây nên là một phương pháp mở rộng. – CodesInChaos