【发布时间】:2016-10-04 17:23:03
【问题描述】:
我有三种类型的人:
Class Normal
{
string FirstName { get; set; }
int Age { get; set; }
}
Class Better
{
string FirstName { get; set; }
int Age { get; set; }
}
Class Best
{
string FirstName { get; set; }
int Age { get; set; }
string Address { get; set; }
int Score { get; set; }
}
将它们放在一个列表中的最佳方法是什么? 我自己想出了:
public enum PersonType
{
Normal = 0,
Better = 1,
Best = 2
}
public interface IPerson
{
PassengerType Type { get; set; }
string FirstName { get; set; }
int Age { get; set; }
}
然后
public class Person:IPerson
{
public PassengerType Type { get; set; }
public string FirstName { get; set; }
public int Age { get; set; }
}
我可以将它用于正常和更好,我可以按类型和
public class Best:IPerson
{
public PassengerType Type { get; set; }
public string FirstName { get; set; }
public int Age { get; set; }
public string Address { get; set; }
public int Score { get; set; }
}
最终:列出 ....
这是一个好的设计吗?如果创建了“最佳”实例,但类型设置为正常,该怎么办。这会是一个糟糕的设计吗?
【问题讨论】:
-
欢迎来到 SO。您使用哪种编程语言?
-
C# 是我选择的语言
标签: c# oop design-patterns