NC简析及与TEEMS的对比

原创 2004年09月14日 14:03:00
        NC的体系结构相对于TEEMS要轻量级的多,至少目前初步的感觉上是这样的。说是轻量级并不意味着内容上的多少,而是开发时应用对NC架构的依赖程度。

        TEEMS是完全对象化的应用架构,包括持久化、业务应用、用户界面都是完全对象化的。而NC则有些不同,在持久化方面它采用的并不是完全的OR映射关系,而是传统的行记录模式。也就是说数据库中的一张表,对应于一个NC中的VO,而VO与VO之间的关联,是以PK的形式记录在VO中的,如果业务应用中,需要关联对象,要手工的加载它。从开发的角度来讲,TEEMS的方式在开发和理解起来更容易些,而NC则在性能上有更好的表现(虽然理解起来也并不难)。

        NC在持久化层上,使用的是DMO(Data Management Object),实质就是DAO模式,不过DMO可以通过NC的开发工具,在开发初期导出数据库表,自动的生成大部分的代码。NC有VO的概念,有些类似与TEEMS中的BO,不过并不相同,VO也是从前传到后的,不过VO只是个简单的POJO,并没有业务方法。VO的业务方法,是写在NC中的BO上的。BO是完全的业务方法,可能是一个VO的,也可能是多个VO的,有些类似Business Service 的概念。

        NC在UI方面,采用的是BS结构+Applet程序的方式,与TEEMS的CS结构有着异曲同工的好处。通过J2EE的Servlet实现三层的结构,用SWING来实现复杂的用户交互。在UI结构方面,NC的继承体系要比TEEMS轻量级的多,组件和开发方式要比TEEMS成熟和完善许多。NC的UI结构和布局也都属于轻量级的,没有那么复杂的方式,看起来比较的简洁,不过不知道总帐的UI是如何的。

        NC的报表打印,采用的是自己开发的NC报表和打印组件。通过手工配少量的数据库表及调整类似Excel的二次开发工具来实现报表和打印的功能。虽然对于十分复杂的报表实现的能力比较有限,但对于大多数的报表可以相对非常简单的完成。TEEMS并没有自己成熟的报表打印方案,至少开发的效率感觉上不如NC的高。

        NC的代码质量,在现在看来,和TEEMS比较的类似,大部分的代码都是复制粘贴的产物。不过我认为这也是这两个架构都具有的工程性比较好的特点。由于NC的继承体系和实现方式相对TEEMS较轻量级,因此相对自主的设计和开发也就空间大的好多。也就是说在自己的项目上对使用的NC架构进行一定的封装和改良相对来讲要比TEEMS容易。NC的代码风格和TEEMS一样,都相对较好,至少对这样的一个大的架构来讲。虽然有非常多的大类和大方法,但由于格式和内容都非常的相似,因此看起来,也是很容易理解的。

        综述,对于NC和TEEMS都有共同的特点,很难说是优点还是缺点。工程性非常好,适合大量的人员进行开发,而且对人员的要求不是特别的高。技术都是非常传统的,在技术方面没有高的门槛,也许是因为工程性和历史的原因,两个架构都没有冒险采用商业上不成熟的技术和设计开发方式(不知是好是坏)。

        大概就是这样子了,以后还会继续详细的分析。

Android上Bitmap文件解析示例

本文主要介绍的是Bitmap文件解析的一个简单示例,例子是在Androd上写的,用到的图像只有24位深度的这一种。Bitmap文件的基本结构参考: http://www.cnblogs.com/je...
  • smileorcryps
  • smileorcryps
  • 2017年03月07日 11:22
  • 191

leaf开源服务器第二节-分析之配置文件说明及服务器运行

leaf开源服务器第一节-分析项目结构 大家好 我是社区主编彬哥,今天继续分析leaf服务器;我们上节课给大家简单的介绍了leaf 服务器的项目结构,本节给大家代码的是服务器配置文件server.j...
  • QQ1528884535
  • QQ1528884535
  • 2017年11月08日 16:38
  • 61

java 生成二维码原理分析

java生成二维码原理
  • kechuangww
  • kechuangww
  • 2015年04月29日 16:29
  • 253

卡尔曼滤波算法的基本原理实例解析

卡尔曼滤波器,算法
  • lu_mingzhi
  • lu_mingzhi
  • 2016年12月06日 21:17
  • 909

Android启动过程深入解析

当按下Android设备电源键时究竟发生了什么?Android的启动过程是怎么样的?什么是Linux内核?桌面系统linux内核与Android系统linux内核有什么区别?什么是引导装载程序?什么是...
  • fishmai
  • fishmai
  • 2017年06月03日 22:42
  • 285

人类无法创造有意识的AI——新书《生命3.0》解读

今天要说的是迈克斯·泰格马克(Max Tegmark)在17年8月出版的新书,全名是《生命3.0》( Life 3.0: Being Human in the Age of Artificial In...
  • s1314_JHC
  • s1314_JHC
  • 2017年10月14日 10:20
  • 313

CSipSimple结构浅析

最近做一个VOIP的项目,调研了CSipSimple。都说CSipSimple结构清晰,但是代码下下来看了一下,还是一头雾水,不知从何看起。于是想到从最简单的打电话开始,借助网上一篇博文"CSipSi...
  • huoyin
  • huoyin
  • 2014年11月12日 16:23
  • 3226

taintdroid源码分析 三之 解释器污点传播

序号 指令类型 指令含义 污点传播逻辑 污点传播描述 1 Move vx,vy 移动vy的内容到vx T(vy)...
  • naturesince
  • naturesince
  • 2014年10月14日 17:07
  • 1721

一个应用实例详解卡尔曼滤波及其算法实现

为了可以更加容易的理解卡尔曼滤波器,这里会应用形象的描述方法来讲解,而不是像大多数参考书那样罗列一大堆的数学公式和数学符号。但是,他的5条公式是其核心内容。结合现代的计算机,其实卡尔曼的程序相当的简单...
  • szlcw1
  • szlcw1
  • 2014年12月01日 21:53
  • 921

wav文件格式分析详解

一、综述     WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。 RIFF是英文Resource Interchange File Format的缩写,每个WAVE文...
  • qq_21792169
  • qq_21792169
  • 2016年04月04日 13:48
  • 3352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NC简析及与TEEMS的对比
举报原因:
原因补充:

(最多只允许输入30个字)