Подготовка / Планирование - PullRequest
1 голос
/ 16 мая 2010

Впервые я пытаюсь создать довольно большой проект .NET. Я думаю, что самый большой, который я сделал до сих пор, был около 6 классов, но этот уже в 14. Для секции, над которой я начинаю работать, у меня есть некоторые проблемы, складывающие все в моей голове, вот что Я обычно делаю. Я думаю, что это слишком сложно для этого. Я хочу спланировать это, и я хочу каким-то образом визуализировать это и иметь возможность играть с ним и легко манипулировать структурой. Есть ли какая-нибудь (бесплатная) программа, которую я могу использовать для этого?

Ответы [ 7 ]

2 голосов
/ 16 мая 2010

У вас есть доступ к доске? Программные средства великолепны, но я всегда находил, что рисование их вручную действительно помогает мне думать о проблемах проектирования. Просто начните с некоторых полей, которые представляют проблему на высоком уровне, а затем начните ее уточнять.

Это, и я слышал, научно доказано, что запах маркера увеличивает креативность.

2 голосов
/ 17 мая 2010

Ручка и бумага часто достаточно хороши, потому что вы действительно не хотите переходить в состояние, когда вы не можете визуализировать свою проблему на одном листе бумаги. При разработке решений постарайтесь разбить проблему на них на более мелкие подзадачи. Применительно к дизайну классов это называется Принцип единой ответственности . В идеале, делайте это так, чтобы классы были независимыми, а не связанными. Если они должны быть связаны, сделайте это как можно меньше. В итоге у вас будет больше, но меньших классов, которые легче обслуживать, и вам нужно будет одновременно хранить меньше всей программы в своей голове.

Хороший (бесплатный) инструмент для визуализации зависимостей в вашей кодовой базе: NDepend . Поначалу это может быть немного ошеломляющим, и нужно потратить немного времени, чтобы извлечь из этого максимум пользы.

0 голосов
/ 16 мая 2010

Я полностью согласен с методом карандаша и бумаги. В дополнение к созданию диаграммы классов, которая является довольно распространенной, но дает статическое представление элементов вашего решения, мне нравится создавать диаграммы последовательности. Они помогают прояснить отношения и обязанности между классами и, что важно, помогут вам определить только те методы, которые вам нужно реализовать.

0 голосов
/ 16 мая 2010

Хороший оле 'карандаш и миллиметровка .Давайте лучше выстроим все в ряд, нарисуем более качественные рамки, нарисуйте прямые линии и заставьте вас почувствовать себя инженером, разрабатывающим какое-то высокотехнологичное оборудование, которое вы абстрактно представляете.

0 голосов
/ 16 мая 2010

Вот инструмент разработки UML, лицензированный по GNU: http://www.umlet.com/

Диаграммы классов UML помогут вам выяснить вашу объектную модель. Другие (последовательность, сценарий использования) помогут вам спланировать выполнение ваших требований.

0 голосов
/ 16 мая 2010

Вы также можете рассмотреть Аста

0 голосов
/ 16 мая 2010

Visual Studio может создавать диаграммы классов.(В диалоговом окне Добавить новый элемент)

...