Кто-нибудь часто использует конструктор классов в Visual Studio?
Я скачал игрушки для моделирования силы на 2005 год и был впечатлен тем, что видел до сих пор. Блог конструктора классов MSDN, похоже, не обновлялся какое-то время, но все равно выглядит весьма полезным.
Является ли конструктор классов быстрым способом создания базового приложения или мне следует просто поработать на бумаге, а затем начать кодировать?
Спасибо





Краткий ответ: Нет.
Более длинный ответ: нет, совсем нет. Есть причина, по которой он не обновлялся.
[EDIT] @ MrBrutal - Извините - вы хотите сгенерировать код или просто представить дизайн? Потому что я ответил на ваш вопрос, чтобы сгенерировать для вас код.
Я пробовал это несколько раз, в основном для просмотра существующих классов. Если бы он показал все взаимосвязи, было бы полезнее. Теперь показывает только наследование.
Иногда я нахожу это полезным, чаще для документации позже.
Это новая небольшая утилита, но я не думаю, что вы получите полную функциональность в VS Pro - я думаю, вам понадобится Architect's Edition.
Я использовал его пару раз, чтобы получить несколько прилично выглядящих диаграмм классов для размещения в презентациях / блогах и т. д. Но это все ...
Есть ли предложения по другим простым инструментам UML / диаграмм классов, которые просты в использовании и позволяют создавать красивые диаграммы? Должен уметь создавать диаграммы из кода .NET.
Из приведенных здесь комментариев можно сделать вывод, что мало кому пригодится конструктор классов.
Забавно отметить, что Microsoft разработала конструктор классов как полезную замену бесполезному UML (диаграммы UML не заслуживают доверия, если они теряют синхронизацию с исходным кодом).
Проблема с диаграммами классов в том, что они говорят нам то, что мы уже знаем.
Я использую конструктор классов только для отображения моих существующих классов, но я не использую его по-другому, например, создайте там свои классы, а затем позвольте ему сгенерировать код.
В качестве инструмента визуализации или для исследовательских целей (составление нескольких вариантов, чтобы увидеть, как они выглядят) это неплохо, но в целом я считаю, что обозреватель объектов подходит для большинства вещей, которые меня волнуют.
Как инструмент генерации кода это ужасная идея.
Сама идея о том, что мы сначала спроектируем всю структуру нашего кода, а затем заполним пробелы небольшими частями реализации, в корне нарушена.
Единственный раз, когда вы действительно знаете, как должна выглядеть структура кода, - это если вы делали то же самое с точный раньше - однако тогда вы можете просто использовать своего предыдущего кода, и вам не нужно создавать какой-либо новый код в любом вид конструктора.
Если вы заранее решите использовать определенную структуру классов до того, как на самом деле попытаетесь решить проблему, есть 100% вероятность, что вы выберете неправильный дизайн и выстрелите себе в ногу.
Диаграммы классов могут быть очень ценными при первоначальном проектировании, но я хотел сказать, что структура нижнего уровня почти всегда будет меняться, когда вы начинаете кодировать, и поэтому `` генерация '' вашего кода из визуального дизайнера бесполезна.
@Orion - Обоснованность вашего мнения о UML как инструменте генерации кода зависит от персонала, технологий и проекта. Я работал с инженером-программистом, который занимался генерацией прямого кода для нескольких проектов (в окончательной сборке не было кода, который не генерировался вперед). По его словам, это вдвое сократило цикл их разработки. Вам просто нужно думать в UML, а не в коде. Хотя я сомневаюсь, что дизайнер VS станет для этого хорошим инструментом.
Думаю, это старый, но я часто им пользуюсь. Его определенно можно улучшить, но я считаю чрезвычайно полезным иметь возможность визуализировать структуру моего класса и иметь возможность переходить к определенному классу или методу, нажимая на него визуально.
Также немного проще добавлять классы / интерфейсы с помощью проводника решений, хотя новые файлы всегда попадают в корневую папку, а не в ту же папку, что и компакт-диск.
Основное преимущество, которое я нахожу, - это возможность сразу увидеть группу тесно связанных классов. Я думаю, что лучшим подходом было бы иметь один компакт-диск для каждой папки / пространства имен кода.
Я считаю этот ответ весьма субъективным. Диаграмма классов - очень важный инструмент дизайна. Если вы хотите разработать сложное приложение (которое будет подвергаться усовершенствованию), то хорошее представление о диаграмме классов неизбежно.