Я реализую класс для сравнения деревьев каталогов (в C #). Сначала я реализовал фактическое сравнение в конструкторе класса. Как это:
DirectoryComparer c = new DirectoryComparer("C:\\Dir1", "C:\\Dir2");
Но нехорошо делать возможную длительную операцию в конструкторе. Альтернативный способ - сделать конструктор закрытым и добавить статический метод, подобный этому:
DirectoryComparer c = DirectoryComparer.Compare("C:\\Dir1", "C:\\Dir2");
Что ты думаешь? Вы ожидаете, что конструктор будет "быстрым"? Второй пример лучше или просто усложняет использование класса?
Кстати:
Я не буду отмечать любой ответ как принятый, потому что я не думаю, что есть правильный ответ, только предпочтения и вкус.
Edit:
Просто чтобы немного пояснить мой пример. Я не только заинтересован, если каталоги отличаются, меня также интересует, как они различаются (какие файлы). Так что простого возвращаемого значения int будет недостаточно. Ответ от cdragon76.myopenid.com на самом деле очень близок к тому, что я хочу (+1 к вам).