数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
data representation layer

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 上个周末我去了一个技术的沙龙,主要的内容是关于开源软件框架应用与软件架构。很有意思的一个讲座以后还要再去听。目前我国的软件有很多的平台和编程语言,比如.net  j2ee等,在每个语言里面还有相应的框架,比如strutsaop。。。我们的编程一般不用从头开始,而是运用某一种平台,给予某一种框架,进行开发,现在的框架比较多,也不能都应用,在应用中要注意的问题就是,最好直接继承自pojo对象,我们用起来直接用就好,而不用实现他的某一个特定的接口。

o/r mapping的层面上,有几个比较好的开源的工具,比如说jdo,caster,hibernate,这些东西相比较Entity Bean来说是比较light-weight的,比较简单。在这个层面上我们有很多的选择,很多中间件和平台都有这方面的产品。比如我们的bv平台,他就是使用ContentManager,ContentList,Content,BVI_GenericDBManager这样的东西来进行我们的最底层的数据库操作的。其实说白了,这些东西就是语言中的抽象出来的objectrelationship database之间的互操作。最最常用的就是直接使用sql语言,在此之上,我们人为的对于系统进行分级,这数据库和对象之间的操作很自然的就是这一级。我们在定一个类的时候,比如一个Person类,我们同时定义她的PersonManagerPersonContainer这样子的类,我们在manager里面可以抽象出Person的增删改等等操作,比如添加一个person到数据库,我们直接调用p.Save();就可以了,甚至我们可以对它进行更加深层次的抽象,这时候就需要我们放弃对于数据库的概念,这时候数据库对于编程序的人就是透明的了,程序人员只用调用相应的函数就好了。这时候数据库就是一个更大规模的Containercontainer.Add(person);就可以了。其实,我们还可以有很多其他的Container,这些container都是装载在内存中的,可以形成各自相应的集合,相互之间是无关的,这些只是初步。我们可以继承Person类,甚至可以定义一个IPerson的接口,这样对于我们实现其多态来还是比较有益的。在这样的基础上我们就能实现更加面向对象,更加抽象的环境。

一个同学告诉我,在.net的比较简单的应用中,没有data representation layer这个层次的东西了,都用aspx直接调用存储过程。。。各村有个村的高招。




相关文章

相关软件