Trước hết, tôi hiểu lý do tại sao giao diện hoặc lớp trừu tượng (trong thuật ngữ .NET/C#) không thể có phương thức tĩnh trừu tượng. Câu hỏi của tôi sau đó tập trung hơn vào giải pháp thiết kế tốt nhất. Những gì tôi muốn là một tập hợp các lớp "helper", tất cả đều có các phương thức tĩnh riêng của chúng, nếu tôi nhận các đối tượng A, B và C từ một nhà cung cấp bên thứ ba, tôi có thể có các lớp trợ giúp với các phương thức nhưPhương pháp tĩnh trong giao diện/lớp trừu tượng
AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string name); AHelper.DumpToDatabase();
Vì các lớp AHelper, BHelper và CHelper của tôi về cơ bản sẽ có cùng phương pháp, có vẻ như có ý nghĩa khi di chuyển các phương thức này đến giao diện mà các lớp này bắt nguồn từ đó. Tuy nhiên, muốn những phương thức này là tĩnh ngăn cản tôi có một giao diện chung hoặc lớp trừu tượng cho tất cả chúng để lấy được.
tôi luôn luôn có thể thực hiện các phương pháp này không tĩnh và sau đó nhanh chóng các đối tượng đầu tiên như
AHelper a = new AHelper(); a.DumpToDatabase();
Tuy nhiên, mã này dường như không phải là trực quan đối với tôi. Đề xuất của bạn là gì? Tôi có nên từ bỏ việc sử dụng giao diện hoặc lớp trừu tượng hoàn toàn (tình huống hiện tại của tôi) hay điều này có thể được tái cấu trúc để hoàn thành thiết kế mà tôi đang tìm kiếm?
IMHO: Tùy chọn đầu tiên sẽ tốt hơn là chung chung để suy luận kiểu có thể được sử dụng mà thậm chí còn tốt hơn. –