İçeriğe geç

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.

// Billing/InvoiceService.cs - on the default branch Shipping already depends on Billing
using Shipping;
public class InvoiceService(ParcelTracker tracker) { }
Billing/InvoiceService.cs
public class InvoiceService(IShipmentStatus status) { } // interface owned by Billing, implemented in Shipping