`
steeven
  • 浏览: 313094 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java应该采纳的几个改进

阅读更多
方便重构, 代码简洁。改进编译器即可实现
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#
分享到:
评论
5 楼 阳光晒晒 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
你可以网上查一下.
4 楼 steeven 2008-12-30  
用groovy的感觉就是放弃了编译器检查。而java去支持的话,如果只有特定类型是动态的,还是很cool的
3 楼 shiren1118 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里很早就有了,不新鲜


2 楼 steeven 2008-12-29  
1/2是c#所没有的。

当初c#向java靠拢并且赶超过去,java现在干嘛不取长补短呢?
annotation就抄的大快人心嘛 
1 楼 gembler 2008-12-29  
你的标题应该是java向c#靠拢

相关推荐

    java学习心得

    在面向对象编程中,软件生产力的提升主要得益于以下几个方面: - **模块化**:分离职责,使得代码更易于管理和理解。 - **可扩展性**:对未来的功能需求保持响应能力,便于添加新功能而无需大规模重构。 - **可修改...

    java7-to-java8:演示并比较java8和java7之间的区别

    总结,Java 8的流和可选是其对函数式编程的采纳和对传统编程模式的改进,它们提高了代码的可读性,减少了潜在错误,并为大数据处理提供了强大工具。开发者应熟练掌握这些新特性,以提升代码质量和效率。

    基于Java医院管理住院系统的设计与实现.doc

    在系统设计时,我们需要考虑到以下几个关键技术点: 1. 数据库管理系统:我们选择了SQL SERVER 2005作为数据库管理系统,主要考虑到其稳定性、安全性和高效性。 2. 开发工具:我们选择了MYECLIPSE作为开发工具,...

    bluecove-2.1.2.jar.zip

    这个改进对于那些需要在最新操作系统上运行Java蓝牙应用的开发者来说,无疑是一个重要的里程碑。64位系统的优势在于可以处理更大的内存,这对于处理大量数据或者需要高性能通信的应用来说至关重要。 Bluecove 2.1.2...

    jrebel-开发人员如何使用微服务.pdf

    这种架构与传统的单体架构相比,提高了敏捷性和可伸缩性,因此在过去几年中,在Java生态系统中的使用日益增加。 微服务的背景及其在Java开发中的应用是本文讨论的核心内容。通过Perforce软件公司的Java开发微服务...

    Gradle最新版本5.1.1

    在5.1.1版本中,我们主要关注以下几个关键点: 1. **性能优化**:Gradle 5.1.1对构建速度进行了优化,特别是对于大型项目和多项目构建。它引入了更智能的缓存策略,减少了不必要的依赖重解析,从而加快了构建过程。...

    esign and implementation of high-level compute on android systems

    本文将详细介绍以下几个核心概念和知识点: 1. Android异构计算系统: 异构计算系统是指使用不同类型计算单元的电子系统。在Android设备上,这通常指CPU和GPU等不同类型的处理核心。现代的Android设备配备有多种...

    upos1.9开发手册(英文文档)

    在详细分析之前,我们首先要理解以下几个核心概念: 1. UnifiedPOS 标准:它是为实现销售点外围设备的国际标准。这个标准提供了统一的开发和集成指南,使得不同厂商的POS设备能够在同一系统中兼容工作。 2. Retail...

    jakarta-taglibs-standard-1.1.2

    它包含了几个核心部分,如Core、XML、JDBC、JSTL Functions等,分别用于基本操作、XML处理、数据库操作以及提供各种函数支持。Jakarta Taglibs Standard 1.1.2 是JSTL的一部分,提供了对HTML渲染和页面控制的支持。 ...

    SOA 基础知识简介

    在IBM的SOA Fundamentals教程中,内容涵盖了以下几个关键知识点: 1. **SOA的价值**: - **业务敏捷性**:SOA的核心优势之一是提高了业务的敏捷性,通过松耦合的服务,企业能够快速适应市场变化和客户需求。 - **...

    TOMA-开源

    在提供的压缩包文件中,我们可以看到以下几个关键文件: 1. **tomaUpdate.bat**:这是一个批处理文件,通常用于Windows系统的更新操作,用户可以通过运行这个脚本来更新TOMA到最新版本。 2. **toma.jar**:这是TOMA...

    计算机科学与技术_植物病虫害在线答疑小程序的设计与实现.docx

    根据给定文件的信息,我们可以提炼出以下几个核心知识点: ### 一、移动互联网背景下植物病虫害在线答疑小程序的意义 随着移动互联网技术的迅速发展以及智能手机的普及,越来越多的人选择通过移动设备来获取信息和...

    Jini核心技术

    Jini系统由几个关键组件构成: 1. **服务提供商**:服务提供商是提供特定功能的实体,如打印服务、存储服务或数据库服务。它们是Jini网络中的基本构建块,可以是硬件设备、软件应用或两者结合。 2. **服务发现机制...

    基于Android的WIFI室内定位技术研究

    通过分析几种算法的性能仿真结果,拟定了基于最强AP法的改进算法作为定位系统采纳的算法。 然后,通过对基于Android的WIFI室内定位系统的需求分析,提出了一种基于Android 的WIF1室内定位系统设计方案。接着介绍了...

    ECMA发展史

    ECMAScript,作为当前互联网上最广泛使用的脚本语言JavaScript的基础标准,从1997年被ECMA标准化组织正式采纳以来,经历了多次重要的版本迭代和发展阶段。ECMAScript标准的演进不仅反映了互联网技术的进步,也对前端...

    密码学实验报告,rc4,md5,rsa,des代源码

    这份"密码学实验报告"涵盖了几个重要的加密算法:RC4、MD5、RSA和DES,且所有算法都实现了源代码,不依赖Java API,这为理解这些算法的工作原理提供了宝贵的实践资料。 1. RC4算法: RC4(Rivest Cipher 4)是一种...

    Square-Number

    在Java编程中,处理平方数可能会涉及到以下几个知识点: 1. **算术运算符**:包括加(+), 减(-), 乘(*), 除(/)以及求余数(%)。在我们的场景中,我们使用乘法运算符来计算平方。 2. **数据类型**:Java有多种数据...

    简单的世界杯页面设计 简单的世界杯页面设计 简单的世界杯页面设计

    为了改进这个世界杯页面设计,开发者需要考虑以下几点: 1. 使用跨浏览器的CSS解决方案,如使用autoprefixer自动添加浏览器前缀。 2. 尽量遵循Web标准,使用最新的HTML5语法。 3. 用JavaScript库或框架(如jQuery、...

    UML入门教程(中文版)(带书签)

    UML的发展历史可以简单概括为以下几个关键的阶段: - 在20世纪70年代末到80年代初,软件工程界开始重视图形化建模技术,出现了如Yourdon-DeMarco和Ward-Mellor等方法论。 - 1980年代中期,出现了Smalltalk等早期的...

    Groovy PPT

    简单来说,Groovy就像是一个超级版本的Java,它减少了大量的模板代码,并添加了诸多高级特性。 - **减少模板代码**:Groovy通过动态类型和简洁的语法结构,大大减少了传统Java编程中的模板代码。 - **动态类型**:...

Global site tag (gtag.js) - Google Analytics