[英]Attribute vs Static Property
我有一個需要保存到MongoDB集合中的模型。 要獲得集合名稱,我有兩個選擇。
1)屬性
我用自定義屬性裝飾類,並使用反射來訪問其中的值。 然后,我可以將其與type
一起緩存,以免將來進行查找。
[MongoCollection("Foo")]
public class Foo
{
}
2)靜態特性
在這里,我在包含集合名稱的類中具有靜態屬性。
public class Foo
{
public static string CollectionName { get { return "Foo"; } }
}
我發現我傾向於使用前者,因為前者看起來和感覺上都更干凈,但是這里的一些高級開發人員正在利用反射來提高自己的鼻子。
第一種選擇是否需要解決?還是選擇第二種更好?
這是元數據與數據的明顯對比:
因此,選項1屬性是表示元數據的正確方法。 反射的使用僅僅是技術上的問題,可以封裝到一個單獨的類中,例如AttributeManager
,這將簡化對元數據的訪問並適當地緩存它們以避免性能開銷(在特定情況下應該是一個問題)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.