`
sinokaka
  • 浏览: 324305 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

动态?不动态?

阅读更多
   这两天一直在看那本著名的Ruby on Rail的经典书籍《应用Rails进行敏捷Web开发》,有感Rail提供的框架,和Ruby的动态语言的优越性,自己也在一点点的思考着java,当然了很多时候都是自己胡思乱想了。
   1:动态方法参数。
   当然了,现在的java5已经提供了动态方法参数了,我现在一直都在J2SE1.4.2上面开发,所以一直没有体验到这个优点,不过1.4上实现这个效果也不难,如果参数是一个参数bean的话,那么本身就是一个动态参数列表了,你设置几个都可以了,或者是一个Map,那么更可以动态添加了。
   2:动态增加字段。
如果我的Bean里面只有一个属性存个Map的话,或者我的Bean就是一个Map的话,那么动态增加字段也是易如反掌,也是可以很轻松的。各种类型也都可以。这个主要是有感于Rails使用的ORM,只在数据库中保存字段,自己开始想java如何实现:)
   主要是想了这几个方面,想了想动态语言有他的方便之处,可是如果遇到重构的时候怎么办呢,名字变了。方法名变化了,是否也能体现优越性呢。没有了强类型的检查,写的时候,天马横空的,也可能是一个问题,就像java一样,很多地方都用Map实现,那么可能也会写出很方便的方法,但是会不会出现编译的时候,万事大吉,可是跑起来的时候,异常满天飞呢,java又不像ruby一样,改了就跑,还需要编译,重新启动中间件等。
   动态?不动态?想的自己有些头疼。
分享到:
评论
8 楼 firebody 2007-01-19  
抛出异常的爱 写道
两方的斗争由来以久。。。。
动态与非动态的历史几乎一样的长久。。。
但由于非动态对内存CPU的要求过高以至几十年抬不起头来
直到网页开发时才有了一丝生机。。。
现在不过是几十年压抑的知识与智慧的反弹。。。


test for quote
7 楼 sinokaka 2007-01-18  
怎么越说越远了。
我就是看着Rails的时候,顺道想了想java如何实现,怎么来实现的时候,想起来这个所谓的动态来,因为动态了,自然会有很多灵活性,但是也丧失了很多的严谨性。很多东西都是两面性的,有得自有失了。随便发发牢骚,写写想法而已。
也顺道考虑考虑自己的开发是否有能改进的地方。
6 楼 抛出异常的爱 2007-01-17  
两方的斗争由来以久。。。。
动态与非动态的历史几乎一样的长久。。。
但由于非动态对内存CPU的要求过高以至几十年抬不起头来
直到网页开发时才有了一丝生机。。。
现在不过是几十年压抑的知识与智慧的反弹。。。
5 楼 LucasLee 2007-01-17  
动态参数没有什么奇特的,它也不是什么参数都能动态的,动态参数只能放在方法参数的最后面,实际上相当于是一个数组,因为在方法内部使用参数时就是一个数组。
4 楼 sinokaka 2007-01-17  
:)是啊,两种不同的东西,关注点不一样。我只是自己考虑一下,从java的角度,思考一下所谓的动态语言。
3 楼 抛出异常的爱 2007-01-17  
还是那句话,两种不同的工具
如果想要作等java6出来对动态语言支持了java也是可以作到动态的。。。
2 楼 sinokaka 2007-01-17  
代码生成工具如果生成的话,那么就没有所谓的动态了,那么所有的东西都存在多份了,也就是违反了DRY原则了。
Rails的ActiveRecord让我觉得比较牛的地方就是它在类里面不保存任何数据库字段的任何东西
1 楼 抛出异常的爱 2007-01-16  
sinokaka 写道
   这两天一直在看那本著名的Ruby on Rail的经典书籍《应用Rails进行敏捷Web开发》,有感Rail提供的框架,和Ruby的动态语言的优越性,自己也在一点点的思考着java,当然了很多时候都是自己胡思乱想了。
   1:动态方法参数。
   当然了,现在的java5已经提供了动态方法参数了,我现在一直都在J2SE1.4.2上面开发,所以一直没有体验到这个优点,不过1.4上实现这个效果也不难,如果参数是一个参数bean的话,那么本身就是一个动态参数列表了,你设置几个都可以了,或者是一个Map,那么更可以动态添加了。
   2:动态增加字段。
如果我的Bean里面只有一个属性存个Map的话,或者我的Bean就是一个Map的话,那么动态增加字段也是易如反掌,也是可以很轻松的。各种类型也都可以。这个主要是有感于Rails使用的ORM,只在数据库中保存字段,自己开始想java如何实现:)
   主要是想了这几个方面,想了想动态语言有他的方便之处,可是如果遇到重构的时候怎么办呢,名字变了。方法名变化了,是否也能体现优越性呢。没有了强类型的检查,写的时候,天马横空的,也可能是一个问题,就像java一样,很多地方都用Map实现,那么可能也会写出很方便的方法,但是会不会出现编译的时候,万事大吉,可是跑起来的时候,异常满天飞呢,java又不像ruby一样,改了就跑,还需要编译,重新启动中间件等。
   动态?不动态?想的自己有些头疼。


两种不同的东西。。。不必太在意
用市面上的一些代码生成工具也可以达到。。。
不必要用map这种东东。。。。

相关推荐

    什么是动态规划(Dynamic Programming)?动态规划的意义是什么? - 知乎1

    无后效性是指在进行决策时,一旦做出选择,后续的选择不应影响之前决策的有效性。例如,在找零问题中,无论最后如何选择面值的硬币,之前选择使用最大面值的决策仍然是正确的。 最优子结构体现在问题的解可以通过子...

    贪心算法和动态规划以及分治法的区别? (1) 贪心算法和动态规划.pdf

    3. 贪心算法不能保证全局最优解,因为它只考虑局部最优解,而不考虑整体的影响,而动态规划和分治法可以保证全局最优解。 4. 贪心算法的时间复杂度较高,因为它需要从上往下,逐步找到最优解,而动态规划和分治法的...

    基于改进??学习的知识化制造自适应动态调度策略

    针对知识化制造系统生产环境的不确定性, 构建一个基于多Agent 的知识化动态调度仿真系统. 为了保证设备Agent 能够根据当前的系统状态选择合适的中标作业, 提出一种基于聚类-动态搜索的改进??学习算法, 以指导不确定...

    电源动态响应测试,什么样的波形算合格

     工程师在设计电源时,动态响应是必不可少的一项测试指标。由于涉及环路问题一直是很多工程师的心病,下面从几个方面来谈一谈动态响应希望对大家有所帮助:  为什么开关电源需要测试动态响应?  电源动态响应的...

    vue 动态设置img的src地址无效,npm run build 后找不到文件的解决

    动态设置img的src属性无效,而直接写可以 解决办法: imgSrc写成require(‘path’); 原因: 动态添加src被当做静态资源处理了,没有进行编译 npm run build 后出现 xxxxxxx net::ERR_FILE_NOT_FOUND 解决...

    解决layui动态添加的元素click等事件触发不了的问题

    在页面加载完成时候 ‘.add_project’ 元素是可以触发click时间的,当动态添加 ‘.add_project’ 时候,新添加的元素却触发不了click事件,类似下面的写法: $(".add_project").on('click', function(){ alert&#40...

    循环动态播放照片动态壁纸app - Android项目源码

    稳定工具可以定义不移动的点。 使用遮罩工具,您可以定义图像中不会移动的区域。 创建您的动画循环动态壁纸。 您还可以从给定的循环照片动态动态壁纸集合中设置壁纸。 保存您的创作并与朋友、家人和所有社交网站分享...

    动态代理由浅入深

    动态代理的优点是可以在不改变原有类的基础上对方法进行增强,且不需要修改原有类的源代码。这种方式可以很好的实现解耦合,提高代码的可维护性和扩展性。 在动态代理中,InvocationHandler 接口是代理对象的处理器...

    ????? ????.rar_matlab codes

    .rar_matlab codes”可能由于字符编码问题显示不正常,但根据提供的标签“matlab_codes”,我们可以推断这是一个包含MATLAB代码的压缩文件,可能与某个项目或研究有关。描述中的“Reconfiguration sample”指出这...

    为什么航空系统的嵌入式软件都禁止动态分配内存(含源码)

    C 库函数 - malloc() 函数简介 函数的声明 介绍一下用法 malloc的实现机制 虚拟内存地址与物理内存地址 页与地址构成 内存地址构成 运行时堆 malloc内存分配原理 为什么避免使用 内存有限,多次申请不易...

    win7如何设置动态桌面.docx

    Q:为什么我的计算机不能设置动态桌面? A:请确保您的计算机开启了 Aero 效果,并且已经安装了 Windows 7-DreamScene 软件。 Q:为什么我的桌面图标子看不清楚? A:请在个性化->桌面背景->选择适应,调整桌面图标...

    scrapy结合selenium解析动态页面的实现

    虽然scrapy能够完美且快速的抓取静态页面,但是在现实中,目前绝大多数网站的页面都是动态页面,动态页面中的部分内容是浏览器运行页面中的JavaScript脚本动态生成的,爬取相对困难; 比如你信心满满的写好了一个...

    音效素材库 PPT动态音效 转场音效 14个.zip

    在PPT演示中,动态音效和转场音效的作用不可小觑。动态音效通常用于强调特定的元素,如图表变化、按钮点击等,使观众对视觉变化有更强烈的感知。而转场音效则在幻灯片切换时播放,帮助平滑过渡,提高观众的观看体验...

    ?????? ?? ????? ???????? ??????_coding_

    编码(coding)是程序员日常工作中不可或缺的一部分,它不仅是编写程序的基础,也是实现功能、解决问题的关键。编程语言的选择直接影响到代码的可读性、可维护性和效率。因此,了解编程语言的发展对于提升编程技能和...

    Quartz动态修改时间,java实现修改CronExpression方法

    在实际开发中,动态修改CronExpression的场景可能包括但不限于:根据业务需求实时调整任务执行频率,或者在某些特定条件下临时暂停或恢复任务执行。通过掌握这些技术,你可以更灵活地管理和控制Quartz定时任务,以...

    SuperMap iServer 对数据服务查询结果进行动态投影Demo

    地图动态投影之后又做了切片?数据量太大没办法对数据集做...使用数据服务查询出的结果不能叠加在地图上显示?不要急!SuperMap iServer 8C(2017)新特性:对数据服务查询结果动态投影! 让我们来看一看具体怎么做吧。

    Android-动态修改APP桌面图标

    产品问了一句:“图标能不能支持服务端动态下发?”,我想了一下回复他:“这是不可能的,设想一下,APP提交审核时候使用的是合规图片,过审之后,动态下发的时候突然下发了一张违规图片(比如:黄赌毒),应用市场...

    国科大陈玉福算法作业2018

    一般不特别说明,讨论的时间复杂度均是最坏情况下的时间复杂度。 这样做的原因是:最坏情况下的时间复杂度是算法在任何输入实例上运行时间的上界,这就保证了算法的运行时间不会比任何更长。 平均时间复杂度是指...

    代码动态设置view或布局的宽高

    这就不能用XML文件写成固定值,而需要在java代码中动态设置。 网上有一些教程使用relativeView.setLayoutParams(new RelativeLayout.LayoutParams(100,200));的方法,可是发现这样设置很容易抛错; 因此有人指出不能...

    Qt界面动态库被MFC对话框调用

    简介:本人学习Qt一个星期了,利用Qt做的仿360界面,然后打包成动态库。 用C++的MFC对话框按钮调用Qt界面动态库,经测试成功。

Global site tag (gtag.js) - Google Analytics