JAVA代表的是低效,高费用,你的做法是正确的,ADO.NET在同样的内存消耗上,除了第一次可能不如JAVA快外,别的什么时候都快过JAV!!!如果时间紧,参考一下PET SHOP的做法,C#中把数据封装成类一点也不难.
直接和老板谈这个吧.从人事上击倒,毕竟公司一定要从客户角度出发的,现在用JAVA的客户越来越少了,付不起维护费

解决方案 »

  1.   

    不好意思,我没说清楚首先我已经找到了ADO.net中自动生成的类,比如user表,
    在上述XX.cs文件中有一个userTable及userRow类,现在问题是他不懂C#,更不懂
    ADO.NET,我们跟他看了那自动生成的类他根本不理,又要我们去实现那该死的类,
    但他现在也没说要我们改成Java,否则问题应该已经解决了.
      

  2.   

    java不熟,但ADO.NET真的非常好用
      

  3.   

    个人认为,如果花更多的钱,java比较好,因为你可以买小型机来跑。如果没钱,那还是用.net吧。而且.net分层其实也挺简单的。企业级的可以参照微软的网上书店。
      

  4.   

    我觉得你应该跟你们老板提到一点的是,要看实际项目的具体情况,而不能一概而论的应用所谓先进的架构.
    既然你的项目数据库方面并非重点,那么相应模块只要不是效率太低,反应迟缓以至于跟不上数据采集模块提交数据的速度,就可以继续使用现有的方案,同时大家也较为熟悉,除了问题也容易维护改进,就没有必要大换血.而且,反而是采用全新的方案,大家又不很熟,更容易带来不稳定因素.
    冒昧的猜测,他带来的新方案无非是EJB中数据O/R mapping,如果是的话,这根本就是对应.NET中的数据表的包装类,完全没有优势之处。
    时间较紧的话,我觉得你有义务向项目主管阐述这一些。
      

  5.   

    不变不就行了。只要可以满足需求我觉得没必要,把这个项目做的过于完美,那样就是无谓的提高成本。
    相反,如果你发现现有的架构不能满足需求,那当然要改变一下了。PS 我不认为JAVA和.Net的效率相差很大,单纯的对这两个技术进行指摘,只是肤浅的表现。
      

  6.   

    “目前我采用的是GetDataTable(string Sql),ExecuteSql(string Sql)直接执行的方法,有些设置参数也采用了类的方式。”从这一点我觉得楼主并没有将业务对象很好的抽象出来,在这一层上楼主仍然把表对象和业务对象混在一起理解了。
    经过o/r mapping技术处理以后产生的对象都是具体的业务对象,它们理论上不该存在执行SQL语句的方法,而是对应的业务对象的动作,比如:ADDUSERINFO(NAME:STRING;AGE:DATETIME);EDITUSERINFO(USER_ID:INTEGER;NAME:STRING;AGE:DATETIME);DELUSERINFO(USER_ID:INTEGER);这样对于EJB来说操作对象的时候都是调用的每个对象具体的方法。
    楼主可能是少了这一层次的封装吧。
    我觉得用什么架构是一种工作习惯,象(xinshaw(清瘦卫郎) )说的一样,其实说到效率我想既然业务本身并不复杂,那牺牲点点效率是没关系,更何况现在机器越来越好。
    时间不是很紧的话在这方面就多理解消化一下,如果紧的话我觉得你就可以向上一级的提一提时间,工作量的问题,效率虽然我觉得不是什么问题,不过去吓他他因该也有点用吧,祝你好运气
      

  7.   

    再说一点,框架本身和语言是无关的,是一个软件行业的一种工作模式(我理解的,在这方面只要是面向对象的语言都可以支持的,语言本身的效率不在此次讨论的范围哈^_^我以前用DELPHI的),就向行政中你要具体经过多少流程才能领到东西一样,不管当然有效率,想要什么拿什么,但考虑管理的角度,越严谨才越好。