网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  建立一个结构合理的概念框架     
  文章作者:未知  文章来源:水木森林  
  查看:110次  录入:管理员--2007-11-17  
 


  程序中的各种类(class),包(package)等首先体现的是架构设计中的一种概念分布. 一个良好的设计相当于是建立一个结构合理的概念框架, 随着系统的不断发展, 作为概念载体的类(class)不断吸收相关的实现, 从而使其外延不断丰富起来, 而其内涵也愈加变得明晰. 系统中概念的分化, 最显著的不是业务模块的划分, 而是技术层面与业务层面的分离. 因为技术手段与业务在很大程度上是相互独立的, 因为 [无论]实现什么样的业务, 我们[都]将用到某种技术手段.  而当我们可以回答一个"无论..都" 的问题的时候, 它意味着某个概念可以容纳众多变化, 而它自然有资格成为某种独立的部分. 

  作为技术层面概念聚集的例子, 我们可以看一下spring framework中的jdbctemplate类, 这个类在spring的概念体系中对应于"jdbc调用帮助类"这一概念, 它的目的是帮助我们尽量通过一次函数调用得到我们所要的结果, 但是我已经不止一次的看到很多人使用如下调用

   list results = jdbctemplate.query(...);
   list ret = new arraylist();
   for(int i=0;i<results.size();i++){
     ret.add(((map)results.get(i)).get("somefield"));
   }

   这段代码的目的是为了得到某一列的值, 而jdbctemplate类没有直接提供这一函数. 为了不等待spring的升级, 显然我们需要建立一个jdbctemplate的扩展类, 它直接提供一个queryscalarlist函数, 而不是让这种纯粹技术性的循环语句散见在程序代码的各个角落.

   告别裸奔编程是我对同事的基本要求之一. 即使是考虑最细致的软件组件, 它也难以保证能够预想到所有的变化形式, 而在系统中集成一些第三方组件的时候, 一般总要加入一些特定的假设, 此时也需要一个技术隔离层. 例如在页面开发中, 我们强制使用witrix平台定义的js.ajax对象, 而不是prototype.js中原始提供的ajax.updater等对象. 在应用一段时间之后, js.ajax对象上聚集了一系列与ajax相关的调用指令.
 
 
上一篇: 关于 mvc 模式中的通知机制    下一篇: 关于 javawebframework 的选择
  相关文档
java中文问题详解,底层编码解剖 11-16
用gof模式设计gui 11-17
java_util_test 11-17
用socket类实现http协议客户端应用(1) 11-16
e 属性 11-16
session和application在线用户应用 11-17
ejb的编程规则之session bean 11-16
log4j--新的日志操作方法 11-17
用java转换简繁体的基础知识 11-17
java程序员认证模拟题及详细分析(4) 11-16
java常用的加密 解密 数字签名等api 11-17
对象引用是怎样严重影响垃圾收集器 11-17
powerfolder 工作流服务器版本0.5 试驾之旅(3) 11-17
j2ee实例 开发购物网站全过程详细解析 11-16
使用java语言来更新xml文档的常用方法 11-16
java 理论与实践: 良好的内务处理实践 11-16
eclipse3.1m2部分支持jdk5语法 11-17
用 websphere studio 在 jms 或 http 上使用 soap 访问 ejb we.. 11-17
java中使用final修饰符需要注意的地方 11-17
软件的架构设计 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息