İçeriğe geç

Değiştirilebilir Global Durum (ARCH3187)

Anahtar typescript.quality.mutable-global-state · Önem warning · Kategori quality

Modül düzeyinde değiştirilebilir paylaşılan durum, gizli bağımlılıklar ve test izolasyonu sorunları yaratır; eşzamanlı erişimde öngörülemeyen davranışa yol açar. Durum kapsüllenmeli veya değişmez tutulmalıdır.

export let currentUser: User | null = null;
export function login(u: User) {
currentUser = u;
}
export class Session {
private user: User | null = null;
setUser(u: User) { this.user = u; }
getUser() { return this.user; }
}

Paylaşılan durumu bir sınıf/servis içinde kapsülleyin ve örneğini bağımlılık olarak enjekte edin.