论坛首页 Java企业应用论坛

Java应该采纳的几个改进

浏览 1855 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-12-29  
方便重构, 代码简洁。改进编译器即可实现
1. Class.field.class 数据绑定等
DataBinder.bind(a.fieldX,textbox);
2. Class.method.class 注册事件
EventListen.addListener(a.onClick.class) //less inner class
3. 动态属性、方法 implements DynamicClass 
a) c#4.0中新增此特性http://developer.51cto.com/art/200811/95603.htm
b) MyDynamic a = new MyDynamic();
c) a.fieldX = 123; //a.set(“fieldX”,123);
d) a.helloX(“abc”,123); //a.invoke(“helloX”,”abc”,123);
4. @readonly property abc; //自动生成get/set方法,类似c#
   发表时间:2008-12-29  
你的标题应该是java向c#靠拢
0 请登录后投票
   发表时间:2008-12-29  
1/2是c#所没有的。

当初c#向java靠拢并且赶超过去,java现在干嘛不取长补短呢?
annotation就抄的大快人心嘛 
0 请登录后投票
   发表时间:2008-12-30  
gembler 写道
1. Class.field.class 数据绑定等
DataBinder.bind(a.fieldX,textbox);

熟悉springmvc的应该用过它的数据绑定,grails是基于springmvc的所以它的数据绑定同spingmvc
再有groovy的MOP不知道是否适用与你?


2. Class.method.class 注册事件
EventListen.addListener(a.onClick.class) //less inner class

groovy的swingbuilder简化了很多


3. 动态属性、方法 implements DynamicClass
a) c#4.0中新增此特性http://developer.51cto.com/art/200811/95603.htm
b) MyDynamic a = new MyDynamic();
c) a.fieldX = 123; //a.set(“fieldX”,123);
d) a.helloX(“abc”,123); //a.invoke(“helloX”,”abc”,123);

groovy的expando();
它与Map对象的最大不同在于Expando对象除了可以在运行期增加属性以外,还可以动态的增加方法


4. @readonly property abc; //自动生成get/set方法,类似c#


groovy里很早就有了,不新鲜


0 请登录后投票
   发表时间:2008-12-30  
用groovy的感觉就是放弃了编译器检查。而java去支持的话,如果只有特定类型是动态的,还是很cool的
0 请登录后投票
   发表时间:2008-12-30  
steeven 写道
方便重构, 代码简洁。改进编译器即可实现
1. Class.field.class 数据绑定等
DataBinder.bind(a.fieldX,textbox);
2. Class.method.class 注册事件
EventListen.addListener(a.onClick.class) //less inner class
3. 动态属性、方法 implements DynamicClass 
a) c#4.0中新增此特性http://developer.51cto.com/art/200811/95603.htm
b) MyDynamic a = new MyDynamic();
c) a.fieldX = 123; //a.set(“fieldX”,123);
d) a.helloX(“abc”,123); //a.invoke(“helloX”,”abc”,123);
4. @readonly property abc; //自动生成get/set方法,类似c#

有个组织可以免费参加
(当然个人免费,团体要收费)
叫jcr
他们的主要工作就是
提交jsr
你可以网上查一下.
0 请登录后投票
论坛首页 Java企业应用版

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