Mn có thể chia sẻ nếu mn cần một lớp gồm các hàm dùng chung (trên Webapp ) có thể gọi ở bất kỳ đâu, thì mn sẽ chọn thiết kế như nào ạ?
Cách em hay làm là tạo 1 lớp gồm các hàm tĩnh ( không biết vậy có tối ưu không ạ ). Cảm ơn mn đã góp ý.
Mn có thể chia sẻ nếu mn cần một lớp gồm các hàm dùng chung (trên Webapp ) có thể gọi ở bất kỳ đâu, thì mn sẽ chọn thiết kế như nào ạ?
Cách em hay làm là tạo 1 lớp gồm các hàm tĩnh ( không biết vậy có tối ưu không ạ ). Cảm ơn mn đã góp ý.
Tuỳ vào nhu cầu sử dụng:
Như @LocNguyenXuan99 đề cập, tuỳ vào nhu cầu sử dụng.
Việc cậu làm là tạo class Utility (chứa các method mà không thuộc vào bất cứ object nào, và để nó static) để sử dụng. Đây là cách làm khá phổ biến, dễ cài đặt, nhưng cũng có nhiều drawback.
Tất nhiên, nếu cậu có một vài method không có bất cứ side effect gì (như xử lý string, làm các phép toán, etc), dùng Utility class không có vấn đề gì. Nếu đó không phải use case của cậu, cậu nên đề cập rõ hơn use case của cậu, bọn tớ sẽ tư vấn phù hợp hơn.
Em chào 2 bác @LocNguyenXuan99, @library
Use case của e là xử lý file . E định tạo 1 lớp như trên e trình bày (gồm toàn static method) , lớp gồm 1 hàm public A, trong A gọi đến hàm B,C,D, trong đó hàm C là 1 delegate - là tham số của hàm A ( vì hàm B với D lúc nào cũng chỉ làm 1 việc cố định còn C sẽ tùy vào từng loại - các công việc không hề giống nhau ).
Em có tìm hiểu qua Singleton nhưng đến đoạn Thread safe gì đó e thấy không ổn lắm.
Mong 2 bác tư vấn e usecase này.