据我所知,以下设计是一个已知的反模式,因为类应该只是Person的实例而不是子类,因为它们不会向基类添加任何内容:
public class Person
{
public virtual string Name { get; private set; }
public Person (string name)
{
this.Name = name;
}
}
public class Karl : Person
{
public override string Name
{
get
{
return "Karl";
}
}
}
public class John : Person
{
public override string Name
{
get
{
return "John";
}
}
}
如果有任何或如何找到有关此主题的更多信息,这个反模式的名称是什么?
编辑:在示例中,类与以下内容完全相同:
Person karl = new Person ("Karl");
Person john = new Person ("John");
为什么我会在实例足够的时候创建新类?该类不会向实例添加任何内容。