Każda bardziej skomplikowana (niż „hello word”) aplikacja posiada jakąś architekturę. Chyba najbardziej popularna wśród początkujących to spaghetti. Architektura spaghetti charakteryzuje się tym, że różne kawałki kodu są po prostu przemieszane ze sobą. Czasem tak dobrze, że w jednej procedurze i/lub funkcji znajdziemy wszystkie składniki. Na szczęście kilka programów później, prawie każdy zaczyna coraz bardziej myśleć o architekturze. O tym, jak poszczególne elementy aplikacji będą poskładane i jak będą współpracowały między sobą. Nie będę tutaj jednak prowadził dywagacji na temat prawidłowej architektury – są od tego odpowiednie książki.

Co jednak warto opisać to jak powstał załączony do wpisu diagram.

Visual Studio 2010 (niestety dopiero w wersji Ultimate) pozwala na rysowanie takich ładnych diagramów. W dodatku na podstawie projektu. Jak to zrobić?

Do solution należy dodać nowy projekt – Modeling Project:

A następnie dodajemy w tak stworzonym projekcie diagram warstw.

Otwierając teraz Architecture Explorer możemy dodawać do diagramu poszczególne klasy, namespace-y, projekty etc. I łączymy elementy pomiędzy sobą.

Powyższy zrzut z ekranu pokazuje, jak może wyglądać przykładowa architektura.

Teraz rozpoczyna się magia,

Wybierając Validate Architecture możemy szybko sprawdzić czy nasz projekt jest zgodny z zaprojektowaną architekturą – jeśli nie, otrzymamy listę błędów. Jeżeli jesteśmy pewni, że nasz projekt trzyma się założonej architektury to możemy wygenerować zależności pomiędzy elementami diagramu na podstawie solution.

Wisienką na torcie jest opcja w menu Create/Link Work Item. Pozwala ona na związanie work itemów z konkretną częścią architektury – jeśli oczywiście korzystamy z TFS-a.