论坛首页 编程语言技术论坛

什么是.NET Attribute

浏览 19116 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-09-08  
Aop作用的metadata是不被推荐的一种,无他,死板
0 请登录后投票
   发表时间:2004-09-08  
sevenbamboos 写道
Aop作用的metadata是不被推荐的一种,无他,死板


????
不懂。“AOP作用的metadata”是什么意思?举个例子来看看?
0 请登录后投票
   发表时间:2004-09-08  
* @spring.transaction
  *    level="READONLY"

请问这个标记是给什么程序用的?
0 请登录后投票
   发表时间:2004-09-08  
元语言可以干很多事情,比方说用来产生类的持续化映射文件,或者用来声明事务安全之类的。后者可以看作是AOP的一种实现方式。听听Rod Johnson怎么说:
AOP driven by source-level metadata is not “classic” AOP. Classes are not oblivious
of the aspects that may be used to address crosscutting concerns; metadata annotations
(but not code to interpret them) are applied to multiple classes. And it often
doesn’t involve developers working directly with AOP concepts.
[/b]
0 请登录后投票
   发表时间:2004-09-08  
sevenbamboos 写道
元语言可以干很多事情,比方说用来产生类的持续化映射文件,或者用来声明事务安全之类的。后者可以看作是AOP的一种实现方式。听听Rod Johnson怎么说:
AOP driven by source-level metadata is not “classic” AOP. Classes are not oblivious
of the aspects that may be used to address crosscutting concerns; metadata annotations
(but not code to interpret them) are applied to multiple classes. And it often
doesn’t involve developers working directly with AOP concepts.
[/b]


这个我知道。但我还是不知道你说的“AOP作用的metadata”是个什么意思。你要实现AOP,就必须要提供一些metadata,起码你得说明哪里是pointcut,要织入哪些aspect。那你说的到底是什么概念呢?
0 请登录后投票
   发表时间:2004-09-08  
gigix 写道
agilecat 写道
关键是元数据能否通过某种机制自动类的行为产生影响,而不是通过另外的厂来构造.如日志属性,new 的对象的方法调用会自动写日志,说白了,有一个内置于语言的隐含厂.


你觉得把这种feature内置在语言里很好?我倒觉得耦合太强了。很明显这个问题我只要用动态代理就可以解决,干吗要在语言里给我加上这些不必要的玩意?我需要倒也罢了,如果我不需要,岂不是还要为这些附加的复杂度买单?


哈,语言总是会变得越来越复杂的,现在的Java和5,6年以前比复杂多了,那你是不是也不因为不想为复杂度买单,而坚持用JDK1.2?
0 请登录后投票
   发表时间:2004-09-08  
hubdog 写道
现在的Java和5,6年以前比复杂多了


这话可不是真的。作为一种语言来说,Java从最初到现在并没有太多的变化,直到现在它仍然是一种非常简单的语言——如果跟C++和C#比的话。Tiger真正是在语言层面上有一些变化,但变的也多是语法,而且依然兼容着1.4。
0 请登录后投票
   发表时间:2004-09-09  
改变代码中的metadata往往需要重新编译,并且维护嵌在代码中的实现AOP功能的metadata不如放在代码外面方便,所以没太大意义。
0 请登录后投票
   发表时间:2004-09-13  
大家可不可以用代码来说明呢?我仔细看过.net的文档,关于Attribute,文档上的用法只能体现出它是一个表示元数据的类。它是能不能影响代码的生成和如何影响代码的生成,我还没有搞明白它的工作机制,不过我知道,的确有人利用attribute的特性做了visual studio的插件,实现了一些代码自动生成的功能。aop现在在java上还没有官方的支持,.net毕竟是有了一些类似的实现(可能叫不同的名字),先研究研究也好。
不过,大家这样谈哲学谈理想没有意思,这样讨论下去,再翻十页也看不到实在东西。不如正方和反方各自拿代码说话,如何?
对于Aop和Attribute,我都是不懂的,我先搬个板凳看看热闹。
0 请登录后投票
   发表时间:2004-09-14  
to mooniscrazy, 看这里我写的attribute 的例子
http://forum.iteye.com/viewtopic.php?p=38169#38169
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics