作者:江南白衣
序
以Ruby为助力的Ruby on Rails 横空出世,又刷新了一次人们对Framework的认识:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名词砸得人悴不及防。
Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术---反射(reflection),泛型(generics),元数据(annotation),proxies(proxy/cglib),代码动态生成(asm),AOP(aspectJ),动态语言嵌入(groovy/javascript/beanshell)。面对着这些,我们像一夜暴富的农企,有点手足无措的样子。
第一感觉,应该出现新的Design Pattern书籍了。
多年前基于纯C++语法写就的那本经典,很多模式都可以被更优雅的实现,还有更多的新模式,会随着这些技术的推广而出现。
第二感觉,新的框架模式出现了。
不断升级自己的Spring,综合运用了除泛型外的大部分技术,把编程界的想像力MFC/ EJB2.0 Container这样传统的template模式/钩子函数的思路,向完全无侵入的标准过渡。
当你不顾性能狂用反射时,C++下的遗憾感开始越来越远。
第三感觉,自己应该重新充电了。
从C++下编写框架的经历到尽用“反射,泛型,元数据,proxy,代码动态生成,AOP,动态语言嵌入”是一条明显的分界线,自己应该调度足够的业余时间,沉实的学习一遍。
这个系列开始一个个介绍上述的积木。
系列文章:
系列文章:
Java下的框架编程(1)--序
Java下的框架编程(2)-对泛型的无聊用法和为擦拭法站台
Java下的框架编程(3)--关于反射的碎话
Java下的框架编程(4)--Annotation vs XML vs Interface 最新一Round
Java下的框架编程(5)--cglib应用
Java下的框架编程(6)--asm(待写)
分享到:
相关推荐
除了使您能够控制工作集大小的最小值和最大值,它还允许您重置缓存的工作集,强制它在必要时从一个最小的起点开始增长。CacheSet 的更改会对缓存的大小立即产生影响。注意:要在 NT 4.0 Service Pack 4 上使用 Cache...
svn是版本管理工具,譬如团队进行项目开发,项目代码都储存在服务器上,成员可用svn在本地获得并更新代码 控制服务器有很多..ClearCase SVN CVS.建议学CC SVN GIT VSS(*^__^*) 嘻嘻…… TortoiseSVN安装双击...next-...
在这个项目中,我想学习新的东西。 因此,该项目您将获得: 使用Django的工具创建框架网站和应用程序。 启动和停止开发服务器。 创建模型来表示应用程序的数据。 使用Django管理网站来填充网站的数据。 创建...
在工具箱中,您可以管理,添加工具,显示帮助页面以及显示或隐藏屏幕中的所有项目。 工具 导游 当需要在同一轴上对齐多个项目时,水平和垂直参考线很有用。 标尺 标尺非常适合测量物体,标尺是半透明的,具有不同的...
willbe是Willbe是实用的开发工具。 它有助于管理复杂模块化系统的模块化。 实用程序willbe利用现代文件系统的功能,对其进行扩展,聚合其他此类开源实用程序的功能来达到其目的。 应用程序的构建是任何软件开发过程...
第6章:芯片设计的项目管理 项目计划 功能、性能、成本以及设计周期的权衡 项目策划的原则 项目策划的流程 项目计划(project plan)的内容 挑选项目成员 项目控制与度量 项目跟踪与控制 芯片设计生产率的度量 缺陷...
- 考虑使用版本控制系统(如Git)来管理项目代码。 通过实现这样一个生成程序,开发者不仅能够深入理解编译器构建的过程,还能够提高对程序语言的理解和C编程技能。此外,这个项目对于希望进入编译器设计、程序分析...
管理控制台和其他工具 25 1.2.1. Access Management Console 概述 25 1.2.2. XenApp Advanced Configuration 概述 25 1.2.3. License Management Console 概述 26 1.2.4. Citrix SSL Relay 配置工具概述 26 重影任务...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上...
3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2. 显示孪生对状态的表 3.8. 与Apache一起使用MySQL 4. MySQL程序概述 4.1. MySQL程序概述 4.2. 调用MySQL程序 4.3. 指定程序选项 4.3.1. 在命令行上使用...
43.下图中哪几项可以打开平滑与整平工具? A. 从附属选项中挑选 和 钮 B. 从附属选项中挑选 和 钮 C. 选取Insert菜单下的Smooth命令和Straighten命令 D. 选取Modify菜单下的Smooth命令和Straighten命 44.如何使...
2.1.1 利用系统工具获得IP地址 2.1.2 使用GetHostByName函数来获取IP 2.1.3 使用WSAAsyncGetHostByName函数获取IP地址 2.1.4 多IP情况的处理 2.1.5 关于IP地址和实际的地址的区别 2.2 获取子网掩码 2.2.1 ...
2我电脑和资源管理器是操作系统硬件资源和计算机配置系统进行管理集成工具。 3.WindowsXP进行系统还原时, 是以还原点为基础。 4.现在, 存放信息硬盘、 内存和光驱已成为个人微机标准硬件配置。 5.开始"按钮处于...
对于带有路线的 Civil 3D 图形,路线设计检查工具栏图标会列出路线并将其曲线与最小半径值进行比较。 下图演示了一个典型的树视图: 缩略图 现场版 forgedatamanagement.herokuapp.com/ 设置 先决条件 BIM 360 ...
已经广泛应用于科研、环境保护、气象、石油矿产勘探、农业、林业、医学、国防&安全、地球科学、公用设施管理、遥感工程、水利、海洋,测绘勘察和城市与区域规划等行业。 创建于1977年的RSI(现为ITT Visual ...