Tôi đang triển khai một lớp để so sánh các cây thư mục (trong C#). Lúc đầu, tôi đã thực hiện so sánh thực tế trong hàm tạo của lớp. Như thế này:Được coi là thiết kế xấu để thực hiện các hoạt động lâu dài trong một nhà xây dựng?
DirectoryComparer c = new DirectoryComparer("C:\\Dir1", "C:\\Dir2");
Nhưng nó không cảm thấy "đúng" để thực hiện một thao tác dài có thể trong hàm tạo. Một cách khác là làm cho hàm tạo riêng tư và thêm một phương thức tĩnh như sau:
DirectoryComparer c = DirectoryComparer.Compare("C:\\Dir1", "C:\\Dir2");
Bạn nghĩ sao? Bạn có mong đợi một nhà xây dựng được "nhanh" không? Là ví dụ thứ hai tốt hơn hay là nó chỉ làm phức tạp việc sử dụng lớp học?
BTW:
Tôi sẽ không đánh dấu bất kỳ câu trả lời như được chấp nhận bởi vì tôi không nghĩ rằng có một câu trả lời đúng, chỉ là sở thích và thị hiếu.
Edit:
Chỉ cần làm rõ ví dụ của tôi một chút. Tôi không chỉ insterested nếu các thư mục khác nhau, tôi cũng quan tâm đến cách chúng khác nhau (mà các tập tin). Vì vậy, một giá trị trả về int đơn giản sẽ không đủ. Câu trả lời của cdragon76.myopenid.com thực sự là khá gần với những gì tôi muốn (+1 cho bạn).
Nếu bạn không đánh dấu câu trả lời, có lẽ đây phải là một wiki cộng đồng? –
Tôi đồng ý [10chọn] –