New cyclic dependency between modules (ARCH1203)
Anahtar dotnet.architecture.new-dependency · Önem warning · Kategori architecture
Yalnız merge request’lerde. Bir namespace’i, varsayılan dalda zaten kendisine bağımlı olan (doğrudan ya da en fazla üç adımda) başka bir namespace’e bağımlı yapan değişikliği işaretler: ikisi artık birbirine bağımlı. Yalnız kodla kurulan bağımlılıklar sayılır (parametre, alan, çağrı); property tipleri (entity navigasyonları, DTO içindeki DTO) sayılmaz. Kod tabanının çoğunun bağımlı olduğu namespace’ler ve bir namespace’in kendi üst ya da alt namespace’i sayılmaz.
Yanlış
Bölüm başlığı “Yanlış”// Billing/InvoiceService.cs - on the default branch Shipping already depends on Billingusing Shipping;
public class InvoiceService(ParcelTracker tracker) { }public class InvoiceService(IShipmentStatus status) { } // interface owned by Billing, implemented in Shipping