.net中的attribute是否可以認為就是.net 的aop實現!?

pikachu發表於2004-02-21
也許在這裡談.net有點大逆不道。不過我覺得,aop的原理確實和.net attribute很相似
先來看看attribute的作用


Microsoft在.Net框架中引入了attribute,這是一種給執行時實體附加“宣告性資訊(declarative information)”,也稱後設資料的方法。可以附加attribute的實體包括:類、方法、property、類變數等。在.Net中,還可以給assembly附加attribute,不同型別的attribute描述了assembly不同方面的資訊。如:身份類attribute用來描述該assembly的識別特徵(名稱、版本等),資訊類attribute用來提供更多的產品與公司資訊,宣告類attribute用來描述配置資訊,強名稱attribute用來描述assembly是否使用了公共金鑰加密的簽名。應用程式能夠在執行時讀取這些資訊,根據這些資訊來控制自身與諸如序列化、安全等服務的互動作用方式。

摘自 http://www.csdn.net/develop/article/22/22566.shtm

繼續上文,後面舉了個例子Serializable。在.net裡是透過增添一個屬性來完成(java是透過一個標記介面來完成,我甚至認為java的public interface Serializable {}就是一種比較陽春的AOP實現)。


所以我覺得.net attribute基本上就可以認為是一種在.net上aop實現。

相關文章