Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Uyarı
.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ı: Referans.
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.
Uyarı
Bu adımlar yaklaşık olarak sıralanmıştır. Görevleri muhtemelen üst üste getirip kendi durumunuza uygun şekilde yeniden sıralamak ve her yinelemenin başında onları tekrar gözden geçirmek 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.
Katmanlar arasındaki mevcut bağımlılıkları keşfedin.
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östermeyinceye kadar kodu yinelemeli olarak geliştirin ve yeniden düzenleyin.
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.
Tavsiye
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. Genellikle mevcut katmanlara iyi karşılık gelen ad alanlarını ve sınıfları keşfetmek için Çözüm Gezgini'ni kullanın. Bu kod yapıtlarını Çözüm Gezgini'nden 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.
See:
Katmanlar arasındaki mevcut bağımlılıkları bulma
Bağımlılık, bir katmanla ilişkilendirilmiş bir yapıtın başka bir katmanla ilişkilendirilmiş bir yapıta başvurusu olduğunda bulunur. Örneğin, bir katmandaki bir sınıf, başka bir katmanda sınıfı olan bir değişken bildirir. Var olan bağımlılıkları tersine mühendislikle keşfedebilirsiniz.
Uyarı
Bağımlılıklar, belirli artefakt türleri için tersine mühendislik uygulanamaz. Örneğin, metin dosyasına bağlı bir 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'ndeDoğ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 yapmak 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.
Normalde, mevcut olmaması gereken bazı bağımlılıklar görürsünüz. Bu bağımlılıkları, istenen tasarımla 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.
| 'dan'e | 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ığın 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. Birden çok bağımlılık çizmek için ara çubuğuna çift tıklayın. İşiniz bittiğinde İşaretçi aracına tıklayın veya ESC tuşuna basın. |
| Bir katmanla ilişkilendirilmiş yapıtların belirtilen ad alanlarına bağımlı olamayacağını belirtin | 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 katmanla ilişkilendirilmiş yapıtların belirtilen ad alanlarına ait olmaması gerektiğini belirtin | 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 katmanla ilişkilendirilmiş yapıtların belirtilen ad alanlarına ait olması gerektiğini belirtin | 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 bir nesneyi oluşturduğunuzda, 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.
See:
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ıt yanlış katmana atanmış. Bu durumda, yapıtı taşıyın.
Sınıf gibi bir öğe, mimarinizle çatışan bir şekilde başka bir sınıfı kullanır. Bu durumda, bağımlılığı kaldırmak için kodu yeniden düzenleme.
Bu hataları çözmek için doğrulama sırasında başka 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.
Uyarı
Kodu geliştirirken veya yeniden yapılandırdıkça bağımlılık diyagramına bağlamak için yeni nesneleriniz 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 sırasında bildirilen çakışmalardan bazılarını bastırmak isteyebilirsiniz. Örneğin, zaten ele almakta olduğunuz veya kendi senaryonuzla ilgili olmayan hataları engellemek isteyebilirsiniz. Bir hatayı bastırdığınızda, 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.