做个供销存的东西,刚开始用三层 很多基本概念性的东西不懂,总结如下,不知哪位高手给解决下
1.面向对象设计问题:如何设计类,是从业务角度设计(比如进货一个类,存储一个类,出货可以继承进货),还是从功能,如果从功能我真想不明白了,从功能讲 也就是查询,修改,删除 功能,尤其对于管理软件,功能也就这些,如果按照具体功能分类,怎么设计好,不明白了.
2.几种技术:CORBA ,DCOM,COM+,MIDAS 晕~~我理解 MIDAS应该是DCOM在DELPHI里具体实现,CORBA好象挺复杂,没有看,但COM+跟MIDAS到底有什么区别么?没看出来,来做的步骤都差不多啊,首先有个REMOTE DATAMODAL,然后设计接口方法属性,客户端连接有点不同,服务器端有什么不同?
3.多线程技术在三层里是不是默认的,客户端不用设置?
4.调试有什么好工具么
5.现在真正用DELPHI做三层的程序员多不多,怎么市面上资料这么少,就李维的好些,并且都是罗上一大堆资料,真正的例子都很少.
6.介绍些网站 三层比较深些的

解决方案 »

  1.   

    第一 你有一个误区  面向对象设计并不是类越大越好,而是越通用越好 否则都是无用功第二 CORBA是国际分布式数据开发的标准 COM,DCOM,COM+,是微软的标准
         MIDAS是Borland的标准。com是建立在同机器之间可以不是同进程之间
          Dcom 是建立在不是同机器域之间 win2000之后整和成com+   
          midas可以认为是Dcom为概念基础第三 可以这么认为 但是有点肤浅 第四 现在midas调试也就是bcb delphi两种编译器吧第五 三层并不是什么高难技术第六 不清楚
      

  2.   

    CORBA是由OMG提出的应用软件体系结构和对象技术规范。
      

  3.   

    是啊,我也这么想的,类的设计不是越大越好,如果要通用的话应该是从功能角度说的把,
     从业务角度设计类不好么,请DTGHH说详细些
      

  4.   

    3.多线程技术在三层里是不是默认的,客户端不用设置?
    4.调试有什么好工具么
    5.现在真正用DELPHI做三层的程序员多不多,怎么市面上资料这么少,就李维的好些,并且都是罗上一大堆资料,真正的例子都很少.
    6.介绍些网站 三层比较深些的
    此问题的性价比比较高: 以下是我的拙见,望高手指点:
    1.面向对象设计问题:如何设计类,是从业务角度设计(比如进货一个类,存储一个类,出货可以继承进货),还是从功能,如果从功能我真想不明白了,从功能讲 也就是查询,修改,删除 功能,尤其对于管理软件,功能也就这些,如果按照具体功能分类,怎么设计好,不明白了.
    1.业务上类要清晰,功能上类要通用.也就是尽也能抽象出一些共同的东西作为抽象类或基类,而业务上的类在层次上要简洁清晰.尤其是三层,你设计出来的类有可能别人也要用到,所以接口要清晰
    2.几种技术:CORBA ,DCOM,COM+,MIDAS 晕~~我理解 MIDAS应该是DCOM在DELPHI里具体实现,CORBA好象挺复杂,没有看,但COM+跟MIDAS到底有什么区别么?没看出来,来做的步骤都差不多啊,首先有个REMOTE DATAMODAL,然后设计接口方法属性,客户端连接有点不同,服务器端有什么不同?
    请先允许我说说COM, 其实COM就是一种特殊的DLL,只不过COM是一种新的标准,这个标准定义了一个对象的函数在内存中的布置(其实就是类似VMT表的东西),有了接口,就可以通过一个接口来访问许多此接口的方法,更具有通用性.DCOM,MTS, COM+,MIDAS全部都是基于COM技术,COM本身需要一个环境(也就是没个COM都要共有的一些接口特性),就是因环境接口的功能不同,叫了不同的名字.DCOM/MTS/COM就是因为COM共性即环境功能相异而得名.我先吃饭去了,大家慢点匝可能有些名词不对,是我自己通俗的理解. 一会回来再说,如果大家觉得我得话有点误人子弟,我就暂停了!
      

  5.   

    没人砸接着说
    3.多线程技术在三层里是不是默认的,客户端不用设置?
     看看李维的ADO/MTS/COM+就可以知道,在创建COM+对象时需要设置其线程模式,组件访问真正做到多线程非常复杂
    4.调试有什么好工具么
    你是指调试组件吧,将其挂到dllHost.exe上,来调试COM+,另外的工具不曾听说
    5.目前做的三层例子,可以说因为本身的组件技术,在少量客户的情况下方可,如果大量客户并发访问基本上都会或多或少有些问题.这也正是目前有个Zero(好象是这个名字)的公司专门做了一套中间件来解决些类问题,组件并发访问已经成为大量客户端访问的一个瓶径
    6.这方面李维的书还是比较出色的,多上论坛与网友交流!
      

  6.   

    回复人: zzzl(情感真理) 
     “是从业务角度设计(比如进货一个类,存储一个类,出货可以继承进货),”
    这算是什么狗屁设计,还是多看看人家的代码吧
    TO zzzl(情感真理) : 刚打开这个网页先看到了"这算是什么狗屁设计"这句话, 吓死我了.我以为有人开始砸我了,  不过我真地希望有人砸,无论谁骂,骂得越狠越好,要么不长记性!  但是呢,也不能骂完,后拍拍就走,最好让人家也有点收获,说说你的设计,谁都从开始走过,正因为人家不懂,才来问呀,我也不懂,说说你的高见吧! 要么人家cntdkj (cntdkj) 会专门开贴问你的?
      

  7.   

    zzzl:你好象很懂的样子,我也知道那样肯定不对,只不过 是个假设,可能没假设好把,再说我也真的不懂,但是你那种话说你自己比较好,你的帖子应该就是狗屁标准的,把你的建议说出来,就这个,供销存的,简单的很,就是进货,存货,销售,财务,怎么设计好,要不不要在这里放屁
      

  8.   

    谢谢IFindit ,你回答第一二个问题对我很有启发,但第三个,难道一般的组件都不是多线程的,或者是不需要多线程么
    以前只是个RAD,深感设计变动对程序影响太大,曾经做个系统,一个月因为设计变动,重做三四回,疯了~~~,所以要转OOP,最好是三层,但只懂些基本概念,没实际做过,现在准备用modelmaker做设计,(发现在里头写代码也不错),但不知道这个东西对三层支持的怎么样
      

  9.   

    duxin(小伍) 是个大虾,没错。
      

  10.   

    常来这个版块应该对第5点有点概念。
    我在这里已看到好几个抱怨他们的APPSERVER在多CPU的服务器上就不灵,单CPU就没问题。
    或者在组装服务器上跑得欢,换到品牌服务器就罢工。
      

  11.   

    zdq801104(???) 非常希望 ,你想要多少分?
      

  12.   

    to zzzl(情感真理):
    依我之见,你也只不过是个菜鸟,话不出什么象样的人话来,还在这里猪鼻子插葱----装什么象啊!
      

  13.   

    MIDAS和MTS/COM+是有不同的,应该说基本功能是系统的,但是COM+提供了很多的服务,不需要像MIDAS那样自己来做.
      

  14.   

    学习研究过一段时间,但是也没搞什么名堂出来...
    觉得李维大师的那本书还是不错,不过还是太老了,是DELPHI5的而且有些还解决的问题.
    希望有更的学习资源~~~~
    至于一个系统的设计是就软件工程方面的知识,只要逻辑上设计好了,然后运用各分布式
    组件技术封装.
    学习~~~
      

  15.   

    我也在迷惑MIDAS和MTS/COM+的不同
      

  16.   

    1.com\dcom\MTS\COM+是microsoft技术标准,midas是borland为方便使用这些标准而做的
      中间件免去了与应用逻辑无关的技术架构方面的开发,可以专心做企业逻辑开发.
    2.对于线程,客户端不用考虑,线程是开在服务端的,创建服务端对象时设置好就可.
    3.分层与面向对象是完全不同的两种软件技术,应该不难区分.
    4.对于多层midas的调试,delphi本身就可做.
      

  17.   

    不好意思,最近有点忙,所以一直没上csdn回复东西。至于上回回复的“狗屁设计”,也真的是我的实话实说,至于真正的方法应该是什么,这个问题很大,建议你另开一贴,另外,你也应该在有一定的实践经验的前提下来提问这种富经验含量的问题。从楼主开贴至今已经很久了吧,那么,那个设计究竟好不好,楼主应该早已知道了吧。