Bağımlılık diyagramları: yönergeler
Visual Studio'da bağımlılık diyagramları oluşturarak uygulamanızın mimarisini üst düzeyde açıklayın. Kodunuzu bir bağımlılık diyagramıyla doğrulayarak kodunuzun bu tasarımla tutarlı kaldığından emin olun. Derleme işleminize katman doğrulama da ekleyebilirsiniz.
Hangi Visual Studio sürümlerinin bu özelliği desteklediğini görmek için bkz . Mimari ve modelleme araçları için sürüm desteği.
Not
.NET Core projeleri için bağımlılık diyagramları Visual Studio 2019 sürüm 16.2'den itibaren desteklenir.
Bağımlılık diyagramı nedir?
Geleneksel mimari diyagramında olduğu gibi bağımlılık diyagramı da tasarımın temel bileşenlerini veya işlevsel birimlerini ve bunların bağımlılıklarını tanımlar. Diyagramdaki katman olarak adlandırılan her düğüm, ad alanlarının, projelerin veya diğer yapıtların mantıksal grubunu temsil eder. Tasarımınızda bulunması gereken bağımlılıkları çizebilirsiniz. Geleneksel mimari diyagramından farklı olarak, kaynak koddaki gerçek bağımlılıkların belirttiğiniz hedeflenen bağımlılıklara uygun olduğunu doğrulayabilirsiniz. Team Foundation Server'da normal bir derlemenin doğrulamasını yaparak, program kodunun gelecekteki değişikliklerle sistemin mimarisine bağlı kalmaya devam ettiğinden emin olabilirsiniz. Bkz. Bağımlılık Diyagramları: Başvuru.
Uygulamanızı bağımlılık diyagramlarıyla tasarlama veya güncelleştirme
Aşağıdaki adımlar, geliştirme sürecinde bağımlılık diyagramlarının nasıl kullanılacağına ilişkin bir genel bakış sağlar. Bu konunun sonraki bölümlerinde her adım hakkında daha fazla ayrıntı açıklanmaktadır. Yeni bir tasarım geliştiriyorsanız, var olan koda başvuran adımları atlayın.
Not
Bu adımlar yaklaşık sırada görünür. Büyük olasılıkla görevleri üst üste getirmek, kendi durumunuz için yeniden sıralamak ve projenizdeki her yinelemenin başında yeniden ziyaret etmek isteyeceksiniz.
Uygulamanın tamamı için veya içindeki bir katman için bir bağımlılık diyagramı oluşturun.
Uygulamanızın birincil işlevsel alanlarını veya bileşenlerini temsil eden katmanlar tanımlayın. Bu katmanları işlevlerine göre adlandırın; örneğin, "Sunu" veya "Hizmetler". Visual Studio çözümünüz varsa, her katmanı projeler, ad alanları, dosyalar vb. yapıt koleksiyonuyla ilişkilendirebilirsiniz.
Kodun yansıtmasını istediğiniz güncelleştirilmiş tasarımı göstermek için katmanları ve bağımlılıkları düzenleyin.
Ana mimari blokları veya bileşenleri temsil eden katmanlar oluşturarak ve her katmanın diğerlerini nasıl kullandığını göstermek için bağımlılıkları tanımlayarak uygulamanızın yeni alanlarını tasarlar.
İş arkadaşlarınızla tartışmanıza yardımcı olması için diyagramın düzenini ve görünümünü düzenleyin.
Kod ile ihtiyacınız olan mimari arasındaki çakışmaları vurgulamak için kodu bağımlılık diyagramında doğrulayın.
Kodu yeni mimarinize uyacak şekilde güncelleştirin. Doğrulama hiçbir çakışma gösterinceye kadar kodu yinelemeli olarak geliştirin ve yeniden düzenleme.
Kodun tasarımınıza uymaya devam ettiğinden emin olmak için derleme işlemine katman doğrulamayı ekleyin.
Bağımlılık diyagramı oluşturma
Bir modelleme projesi içinde bağımlılık diyagramı oluşturulmalıdır. Var olan bir modelleme projesine yeni bir bağımlılık diyagramı ekleyebilir, bağımlılık diyagramı için yeni bir modelleme projesi oluşturabilir veya aynı modelleme projesindeki mevcut bir bağımlılık diyagramını kopyalayabilirsiniz.
Önemli
Var olan bir bağımlılık diyagramını modelleme projesinden başka bir modelleme projesine veya çözümdeki başka bir konuma eklemeyin, sürüklemeyin veya kopyalamayın. Bu şekilde kopyalanan bir bağımlılık diyagramı, diyagramı değiştirseniz bile özgün diyagramla aynı başvurulara sahip olur. Bu, katman doğrulamasının düzgün çalışmasını engeller ve diyagramı açmaya çalışırken eksik öğeler veya diğer hatalar gibi başka sorunlara neden olabilir.
Bkz. Kodunuzdan bağımlılık diyagramları oluşturma.
İşlevsel alanları veya bileşenleri temsil eden katmanlar tanımlama
Katmanlar projeler, kod dosyaları, ad alanları, sınıflar ve yöntemler gibi mantıksal yapıt gruplarını temsil eder. Visual C# ve Visual Basic projelerindeki yapıtlardan katmanlar oluşturabilir veya Word dosyaları veya PowerPoint sunuları gibi belgeleri bağlayarak bir katmana belirtimler veya planlar ekleyebilirsiniz. Her katman diyagramda dikdörtgen olarak görünür ve ona bağlı yapıt sayısını gösterir. Katman, daha belirli görevleri açıklayan iç içe katmanlar içerebilir.
Genel bir kılavuz olarak, katmanları işlevlerine göre adlandırın; örneğin, "Sunu" veya "Hizmetler". Yapıtlar birbirine yakınsa, bunları aynı katmana yerleştirin. Yapıtlar ayrı olarak güncelleştirilebiliyorsa veya ayrı uygulamalarda kullanılabiliyorsa, bunları farklı katmanlara yerleştirin.
İpucu
Katmanlara bağlayabileceğiniz ancak bağımlılık diyagramında doğrulamayı desteklemeyen bazı yapıt türleri vardır. Yapıtın doğrulamayı destekleyip desteklemediğini görmek için Katman Gezgini'ni açarak yapıtın Doğrulamayı Destekler özelliğini inceleyin. Bkz . Katmanlar arasındaki mevcut bağımlılıkları bulma.
Tanıdık olmayan bir uygulamayı güncelleştirirken kod eşlemeleri de oluşturabilirsiniz. Bu diyagramlar, kodu keşfederken desenleri ve bağımlılıkları keşfetmenize yardımcı olabilir. Ad alanlarını ve sınıfları keşfetmek için Çözüm Gezgini kullanın. Bu, genellikle mevcut katmanlara iyi karşılık gelir. Bu kod yapıtlarını Çözüm Gezgini bağımlılık diyagramlarına sürükleyerek katmanlara atayın. Ardından, kodu güncelleştirmenize ve tasarımınızla tutarlı tutmanıza yardımcı olması için bağımlılık diyagramlarını kullanabilirsiniz.
Bkz.
Katmanlar arasındaki mevcut bağımlılıkları bulma
Bir bağımlılık, bir katman ile ilişkili yapının başka bir katman ile ilişkili bir yapıya başvurusu olduğu yerde var olur. Örneğin, bir katmandaki sınıf başka bir katmanda sınıfı olan değişkeni bildirir. Var olan bağımlılıkları tersine mühendislikle keşfedebilirsiniz.
Not
Bağımlılıklarda belirli türdeki yapılar için ters mühendislik uygulanamaz. Örneğin, hiçbir bağımlılıkta metin dosyasına bağlı katmandan veya katmana ters mühendislik uygulanmaz. Ters mühendislik yapabileceğiniz bağımlılıkları olan yapıtları görmek için bir veya birden çok katmana sağ tıklayın ve ardından Bağlantıları Görüntüle'ye tıklayın. Katman Gezgini'nde Doğrulamayı Destekler sütununu inceleyin. Bağımlılıklar, bu sütunda False olarak gösterilen yapıtlar için tersine mühendislik uygulanmayacak.
Katmanlar arasındaki mevcut bağımlılıkları tersine mühendislik uygulamak için
Bir katman veya birden çok katman seçin, seçili bir katmana sağ tıklayın ve ardından Bağımlılık Oluştur'a tıklayın.
Genellikle var olmaması gereken bazı bağımlılıklar göreceksiniz. Bu bağımlılıkları hedeflenen tasarım ile uyumlu hale getirmek için düzenleyebilirsiniz.
Amaçlanan tasarımı göstermek için katmanları ve bağımlılıkları düzenleme
Sisteminizde veya hedeflenen mimaride yapmayı planladığınız değişiklikleri açıklamak için aşağıdaki adımları kullanarak bağımlılık diyagramını düzenleyin. Ayrıca kodu genişletmeden önce yapısını geliştirmek için bazı yeniden düzenleme değişiklikleri yapmayı da düşünebilirsiniz. Bkz . Kodun yapısını geliştirme.
İşlem | Bu adımları gerçekleştirin |
---|---|
Mevcut olmaması gereken bir bağımlılığı silme | Bağımlılığı tıklatın ve DELETE tuşuna basın. |
Bağımlılık yönünü değiştirme veya kısıtlama | Direction özelliğini ayarlayın. |
Yeni bağımlılıklar oluşturma | Bağımlılık ve Çift Yönlü Bağımlılık araçlarını kullanın. Çoklu bağımlılıklar çizmek için araca çift tıklayın. İşiniz bittiğinde İşaretçi aracına tıklayın veya ESC tuşuna basın. |
Bir katman ile ilişkili yapıların belirli ad alanlarına bağlı olamayacağını belirtme | Katmanın Yasak Ad Alanı Bağımlılıkları özelliğine ad alanlarını yazın. Ad alanlarını ayırmak için noktalı virgül (;) kullanın. |
Bir katman ile ilişkili yapıların belirli ad alanlarına ait olmaması gerektiğini belirtme | Katmanın Yasak Ad Alanları özelliğine ad alanlarını yazın. Ad alanlarını ayırmak için noktalı virgül (;) kullanın. |
Bir katman ile ilişkili yapıların belirli ad alanlarından birine ait olması gerektiğini belirtme | Katmanın Gerekli Ad Alanları özelliğine ad alanını yazın. Ad alanlarını ayırmak için noktalı virgül (;) kullanın. |
Kodun yapısını geliştirme
Yeniden düzenleme değişiklikleri, uygulamanın davranışını etkilemeyen, ancak gelecekte kodun değiştirilmesini ve genişletilmesine yardımcı olan geliştirmelerdir. İyi yapılandırılmış kod, bağımlılık diyagramına soyutlamanın kolay olduğu bir tasarıma sahiptir.
Örneğin, koddaki her ad alanı için bir katman oluşturur ve ardından bağımlılıklara ters mühendislik yaparsanız, katmanlar arasında en az tek yönlü bağımlılık kümesi olmalıdır. Katmanlarınızla sınıfları veya yöntemleri kullanarak daha ayrıntılı bir diyagram oluşturursanız, sonuç aynı özelliklere de sahip olmalıdır.
Böyle bir durum söz konusu değilse, kodun ömrü boyunca değiştirilmesi daha zor olur ve bağımlılık diyagramlarını kullanarak doğrulama için daha az uygun olur.
Uygulamanızın yeni alanlarını tasarlama
Yeni bir proje veya yeni bir projede yeni bir alan geliştirmeye başladığınızda, kodu geliştirmeye başlamadan önce ana bileşenleri tanımlamaya yardımcı olmak için katmanlar ve bağımlılıklar çizebilirsiniz.
Mümkünse bağımlılık diyagramlarınızda tanımlanabilir mimari desenleri gösterin. Örneğin, bir masaüstü uygulamasını açıklayan bir bağımlılık diyagramı Sunu, Etki Alanı Mantığı ve Veri Deposu gibi katmanlar içerebilir. Bir uygulamadaki tek bir özelliği kapsayan bağımlılık diyagramında Model, Görünüm ve Denetleyici gibi katmanlar olabilir.
Ad alanı, sınıf veya bileşen gibi her katman için bir kod yapıtı oluşturun. Bu, kodu izlemeyi ve kod yapıtlarını katmanlara bağlamayı kolaylaştırır. Her yapıtı oluşturur oluşturmaz uygun katmana bağlayın.
Çoğu sınıfı ve diğer yapıtları katmanlara bağlamanız gerekmez çünkü bunlar zaten katmanlara bağladığınız ad alanları gibi daha büyük yapıtların içinde yer alır.
Yeni bir özellik için yeni bir diyagram oluşturun. Genellikle, uygulamanın tamamını açıklayan bir veya daha fazla bağımlılık diyagramı olacaktır. Uygulama içinde yeni bir özellik tasarlarsanız, var olan diyagramları eklemeyin veya değiştirmeyin. Bunun yerine, kodun yeni bölümlerini yansıtan kendi diyagramınızı oluşturun. Yeni diyagramdaki katmanlar sunu, etki alanı mantığı ve yeni özellik için veritabanı katmanlarını içerebilir.
Uygulamayı oluşturduğunuzda kodunuz hem genel diyagramda hem de daha ayrıntılı özellik diyagramınızda doğrulanır.
Sunu ve tartışma düzenini düzenleme
Katmanları ve bağımlılıkları belirlemenize veya ekip üyeleriyle tartışmanıza yardımcı olmak için diyagramın görünümünü ve düzenini aşağıdaki yollarla düzenleyin:
Katmanların boyutlarını, şekillerini ve konumlarını değiştirin.
Katmanların ve bağımlılıkların renklerini değiştirin.
- Bir veya daha fazla katman veya bağımlılık seçin, sağ tıklayın ve özellikler'e tıklayın. Özellikler penceresinde Color özelliğini düzenleyin.
Kodu diyagrama göre doğrulama
Diyagramı düzenledikten sonra, istediğiniz zaman kodu el ile veya her derlediğiniz zaman otomatik olarak doğrulayabilirsiniz.
Bkz.
Kodu yeni mimariye uyacak şekilde güncelleştirme
Genellikle, güncelleştirilmiş bağımlılık diyagramında kodu ilk kez doğruladığınızda hatalar görüntülenir. Bu hataların çeşitli nedenleri olabilir:
Yapı yanlış katmana atanmış. Bu durumda, yapıyı taşıyın.
Sınıf gibi bir yapı, başka bir sınıfı mimarinizle çakışacak şekilde kullanıyor. Bu durumda, bağımlılığı kaldırmak için kodu yeniden düzenleyin.
Bu hataları çözmek için doğrulama sırasında daha fazla hata görünmeyene kadar kodu güncelleştirin. Bu genellikle yinelemeli bir işlemdir. Bu hatalar hakkında daha fazla bilgi için bkz . Bağımlılık diyagramlarıyla kodu doğrulama.
Not
Kodu geliştirirken veya yeniden düzenledikçe bağımlılık diyagramına bağlamak için yeni yapıtlarınız olabilir. Ancak, örneğin mevcut ad alanlarını temsil eden katmanlarınız olduğunda ve yeni kod bu ad alanlarına yalnızca daha fazla malzeme eklediğinde bu gerekli olmayabilir.
Geliştirme işlemi sırasında, doğrulama esnasında bildirilen çakışmaların bazılarını gizlemek isteyebilirsiniz. Örneğin, zaten çözdüğünüz veya özel senaryonuzla ilgili olmayan hataları gizlemek isteyebilirsiniz. Bir hatayı gizlediğinizde, Team Foundation'da bir iş öğesini günlüğe kaydetmek iyi bir uygulamadır. Bu görevi gerçekleştirmek için bkz . Bağımlılık diyagramlarıyla kodu doğrulama.
Derleme işlemine katman doğrulamayı dahil etme
Koddaki gelecekteki değişikliklerin bağımlılık diyagramlarına uygun olduğundan emin olmak için çözümünüzün standart derleme işlemine katman doğrulamayı ekleyin. Diğer ekip üyeleri çözümü her derlese, koddaki bağımlılıklar ile bağımlılık diyagramı arasındaki farklar derleme hataları olarak bildirilir. Derleme işlemine katman doğrulaması ekleme hakkında daha fazla bilgi için bkz . Bağımlılık diyagramlarıyla kodu doğrulama.