我想知道对于只有继承层次结构中的某些类需要某些字段或函数的情况,有一个好的结构。
我正在创建一个具有以下结构的程序:
class Singleton
{
public int A{get; set;}
}
class Base
{
}
class SpecialFeatured : Base
{
protected void Common(int a){ Singleton.A = a; }
}
class A : Base {}
class B : SpecialFeatured { public void Foo(){Common(3);} }
class C : SpecialFeatured { public void Foo(){Common(4);} }
class D : Base {}
class E : SpecialFeatured { public void Foo(){Common(5);} }
class F : Base {}
...
有一些特定的功能只有某些类(B、C、E)需要,我不喜欢那些不需要它们的类仍然可以访问它们。因此,我创建了一个继承自基类的
SpecificFeatured
类。但是,如果需要另一个特定功能(例如 SpecificFeature2
),这种方法可能会变得混乱。
此外,我使用单例类来全局存储值以供多个类引用,但这种结构似乎并不理想。
您有什么推荐的设计模式或结构吗?我特别想谈谈第一个问题。我想避免继承接口,因为继承它们的每个类都需要单独实现相同的功能。