1
我真的找不到如何決定哪個選項是最好的。我有一個類「產品」,其中有一個「RecommendedAge」用於餵養動物,以及其他屬性。抽象類VS枚舉(一般OOP)
請注意,我只是想推薦給每個物種的不同值,我不關心他們的數值等價物(什麼會用歧視聯盟代表,但由於ORM問題我不能使用它) 。
爲「RecommendedAge」可能值不同而不同的動物德產品目標的類型,我不知道哪個以下(或任何其他)的方法是最好的(所有僞代碼)的:
Class Product {
Id id;
String name;
RecommendedAge recommendedAge;
}
AbstractClass RecommendedAge {
}
Class DogRecommendedAge : RecommendedAge {
readonly const Int Big;
readonly const Int Small;
}
Class CatRecommendedAge : RecommendedAge {
readonly const Int Medium;
readonly const Int Tiny;
}
或類似的東西:
AbstractClass Product {
Id id;
String name;
}
Enum DogRecommendedAge {
Big = 0;
Small = 1;
}
Enum CatRecommendedAge {
Medium = 0;
Tiny= 1;
}
Class DogProduct : Product {
DogRecommendedAge dogRecommendedAge;
}
Class CatProduct : Product {
CatRecommendedAge catRecommendedAge;
}
這可能是一個非常愚蠢的,但我卡住了。謝謝你們。