之前一直使用C#做数据库的开发,基本上都是使用三层的模式,现需要用delphi开发一个桌面数据库应用,希望能够把三层的模式融入到项目中来,只是刚刚开始就碰到一些困惑,希望各位高手不要吝啬,最好能够给出一个简单的示例,太复杂了不好理解问题应该不算难,相信只要是有些经验的delphi程序员都会的问题1:在Delphi中如何划分层次?划分层次是使用package还是dll?
如“(DALPackage)数据访问层、(BBLpackage)业务逻辑层、(Modelpackage)实体层”。
在C#中最简单的就是建立相应的项目,然后对应引用;问题2:如果使用package划分层次,那么应该如何用一个package引用另外一个package呢?
如:DALPackage怎么引用ModelPackage?
整个应用的调用方式:界面→BLL(业务逻辑层)→(DAL)数据访问层→数据库
也就是说我在做界面的时候只用BLL层和Model层,不管DAL层();问题3:在引用dll的时候能不能一起引用dll内部创建的类?比如我把Model(实体类)封装在dll中?(以上问题希望能够提供简单的示例)

解决方案 »

  1.   

    delphi的数据库应用多层构架是它的一大亮点,以前叫做MIDAS,现在叫做DataSnap,刚出来的Delphi 2009又对DataSnap做了很大的改进,现在已经脱离COM/COM+的束缚,让它更加开放和强大.楼主要做的,不是去考虑如何用delphi实现多层应用模式的问题,还是去随便找本Delphi的书看一看,很快你就会明白,使用Datasnap构架来建立多层应用是非常简单和快捷的.
      

  2.   


    谢谢提醒,是不是在delphi开发数据库应用一般都是使用DataSnap来作为多层开发方式呢?
      

  3.   

    看李维的 <<Delphi 5.x 分布式多层应用系统>>
      

  4.   

    哪位能详细介绍一下2009 datasnap架构要怎么做,具体Sever端和client端要怎么做呢?
      

  5.   

    delphi 是用客户端服务器的形式,晕,也不知道怎么跟你解释了,你还是找一个有经验的程序员操作一遍给你看就明白了
      

  6.   

    问题1:在Delphi中如何划分层次?划分层次是使用package还是dll? 
    如“(DALPackage)数据访问层、(BBLpackage)业务逻辑层、(Modelpackage)实体层”。 
    在C#中最简单的就是建立相应的项目,然后对应引用; 
    -------------------------------------------------------------------
    在Delphi中三层数据库系统,通俗说就是数据库,中间层,前台.
    中间层就是对数据的各项操作,可以对应你的数据访问层,但是中间层也可能包含部分业务.
    至于实体层在Delphi我也不知道是哪一部分.
    你可以编译成包,也可以是DLL,调用的方式都是一样的,个人建议,如果跨语言了,可以写成DLL,如果就是Delphi可以用BPL问题2:如果使用package划分层次,那么应该如何用一个package引用另外一个package呢? 
    如:DALPackage怎么引用ModelPackage? 
    整个应用的调用方式:界面→BLL(业务逻辑层)→(DAL)数据访问层→数据库 
    也就是说我在做界面的时候只用BLL层和Model层,不管DAL层();
    ------------------------------------------------------------------------------- 
    不知道应该怎么说可以让你明白.问题3:在引用dll的时候能不能一起引用dll内部创建的类?比如我把Model(实体类)封装在dll中? 
    可以封装在DLL中,可以用COM个人拙见,仅供参考!