Uygulamamda birkaç singleton sınıfına ihtiyacım var. Her birinin, onları kullanmak için başkalarının tekil sınıflarının bazı alanları vardır. Ben basit bir örnek üzerinde konuyu yeniden Aşağıda: alanlar boş olduğu içinBirbirinden farklı referans alanları içeren tekil sınıfları
public sealed class A
{
private B b = B.Instance;
private static readonly A instance = new A();
public static A Instance { get { return instance; } }
static A() { }
private A() { }
public void Do()
{
b.ToString();
}
}
public sealed class B
{
A a = A.Instance;
private static readonly B instance = new B();
public static B Instance { get { return instance; } }
static B() { }
private B() { }
public void Do()
{
a.ToString();
}
}
class Program
{
static B b = B.Instance;
static A a = A.Instance;
static void Main(string[] args)
{
b.Do();
a.Do();
}
}
Boş başvuru özel geliyor. Yani böyle birbirine bağlı tekil sınıflarını nasıl başlatıp kullanabilirim?
Neden bunu yapmaya çalışıyorsunuz? - bağımlılık genellikle kötü tasarımın bir göstergesidir. – Thomas