×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

说说看,还可以怎样改进。不过我的宗旨是提高开发和管理效率,不一定技术上要达到顶峰。另外,您能说说象struts,spring,casper等框架如何看待,虽然他们都是java的,但设计思想应该正确。

你说的对,我写的东西里是什么都没有,但是他的设计方法却很适用于项目开发,现在有好几个项目都得到了成功的使用。如果您觉得Com,Dcom,DLL等技术应该得到等大的应用的话,您说出来您的想法,是否可以我在以后的版本中逐步增加,同时,也是因为现在就我一个人再继续开展,能力也有限,见识也不开阔,很希望能得到象您一样高手的指点和探讨。能留下您的联系方式吗?我打给您。不过,您如果要是一直拥护microsoft的设计思想,而不接纳其他的设计细想的话,我估计我们没话可谈。98年的时候我就开始研究Dll和Com组件了,难道现在microsoft的路线变了?有本质的变化?要么是我现在知识落伍了?深入的讨论一下,我好改善,只要您不说我太(过于)幼稚,知识太(过于)肤浅,我都愿意接受。
Report

Replies, comments and Discussions:

  • 工作学习 / 专业技术讨论 / EFT of c#我写的一个基于C#的项目快速开发框架, open Source 。希望大家可以共同探讨。 原码在http://eft.ik8.com上。
    本框架的基本想法是基于3层构架的基础上,建立以工厂模式同不同层次间访问的。
    其中跟GenerationTools 是自动化构件工具。
    希望大家能和我一起深入探讨, 我的 Email是jimi.cui@gmail.com
    • 请教你基本问题,分离presentation 和 logic 层,好处有哪些,是N-tier架构吗,还是MVC。谢谢
      • 为了团队开发更方便,我这个方法如果运用得好的话,因该可以支持50个人以上的成员同时开发,管理也相对简单。
        • 忘了说了MVC的概念在微软的开发语言中发挥不好,N-tier是为了协同工作。同时,这样的开发可以建立不同的用户接口,而业务逻辑不必重写。例如,写一套BusinessLogic, 可以建立windows App也可以建立Web interface, 当然您也可以建立Web Service.
          • in .net framwork, It's easy for MVC, depends on how to design
            • 您是学java 开始的吧,呵呵。如果再.net中完全实现类似struts 的MVC设计,是很麻烦的。但当你实现了以后,你又会发现,那样做很多此一举。您也想做一个试试?可别怪我没告诉你哦!!
              • 哈哈,我们有个ASP.NET系统, 很小, 一个人把MVC充分发挥, 所有的请求由一个地方来处理,然后跳转到不同的结果页面. 看了后觉得很怪异: 为什么要把东西搞这么复杂? 觉得Java在追求设计方面有点变态了
                • hehe ,也许吧,不过我很赞同的是Java的开发思想,公开所有的代码,没有藏着掖着的,本人发布这个东西也是希望以“共享”为宗旨的。在microsoft的开发平台上,如果MVC发挥的太好,是有点怪怪的。我已经试过了。
              • I'm .net programmer. have experience on MVC modeling
                • 写成功了告诉我,一定帮你搞测试(如果需要的话)
      • this is not for MVC.
    • vs2005 or 2003?
      • 本来是为了VS2003写的,后来有个项目想用,就坐成2005的了,不过,2003应用起来也可以。需要改点东西。有时间我再改进。不过,近来为了找份工作太忙了没空。很希望能有朋友共同讨论一下。
    • 建议:改变data access, think of the situation: backin database not only sqlserver?
      • 好的,我争取下个版本能支持Oracle, Access, ODBC, 和Mysql,同时,您不知道主意没有,我是想写多线程的数据连接池,没写完,如果有兴趣,可以深入讨论一下。
        • 绝大部分数据库是不需要程序员写连接池的,MSSQL、Oracle和DB2的驱动自带。
          • depends on enviroment.
          • 没错,但是写框架的话,最好带一个,用不用再说。
    • look at microsoft sqldatahelpher
      • hehe ,我到不觉得,因为Microsoft不愿意把开发分层,你看他做的girdview控件就知道了。您说呢?
        • 我没用VS2005去打开你的代码(家里没环境),只是用notepad看了web.config. 我就直说(见谅):
          1. N-tier并不是一定要物理上是多个project. 2. 对.NET framework了解的很少,不懂asp.net特别asp.net2.0设计构架。建议读这个代码(http://www.codeplex.com/Project/FileDownload.aspx?ProjectName=TheBeerHouse&DownloadId=659),绝对比你盲人摸象强。我有这个项目的ebook, 有兴趣的提供邮箱。
          • agree
          • PM你了, 谢谢
          • 谢谢您的建议。但是在web.config中我什么也没改啊。我想您并没有理解我的框架意图。
            我在web.config中没做任何改动。我也当然知道在web.config中可以设置很多东西。但是在真正的团队项目开发中我这样做是必要的,甚至要建立更多的相对独立的接口模块来。这个框架的原始框架已经经过20多个成员协作开发的考验了(项目是保密的,不好意思)。不过,这个的很多代码和那个有区别,因为,这个都是我重写的,所以简略了。2005年十月(那时应该是2005还没发布正式版,要不就是好像是这样,我记不得了。),我们的团队就对该框架作了评估是否在2005中使用。如果您有兴趣的话,我可以做一下深入的探讨。我很希望能从多方面了解我的设计的不足。
            另外,能知道您现在所参加过的项目有多少个人协同工作吗?
            我的电话是
          • 还有,分层是为了使设计清晰,分包是为了开发测试方便。1.0,1.1到2.0我都做过相关的调查,不敢说精通,就算是了解吧,如果您有什么深入的理解,不妨说出来讨论一下,我的电话647-989-7595。对于项目开发来说,管理是很困难的,单体测试没问题,到集成测试阶段就都出来了。
            • 我真的建议你去读读我推荐的代码和相应的书。这个东西就是用最专业的.NET手段实现你的思路。
    • 看了。啥也没有或者说啥也不会,真好意思
      • f
        没能理解您回复的意思,不过,可以跟您讲,我这几天应聘了一个职位,他们给我出了一个 项目(3天的工作量)作为考题,我就用它在24小时之内完成了(包括设计简要文档,打包文件,测试数据,和全部代码)。如果您想用这个框架,不会没关系,您联系我,“教您“不敢当,共同学习吧。
      • 忘了说了,数据访问的代码,与entity代码都在Genertetools中自动实现生成,复杂的业务逻辑需要自己作吧。页面的导航可以在你ini下的那个config中作,您也可以不用,方便才是我们开发人员的享受。
        • 我说话没有艺术,见谅。如果你宏观地表达你的设计思路,我承认你是对的。
          不过你结合.NET,看来我不说几句也过不了关。假设你用SQL server. 1。 不管你的数据库里有没有storedprocedure. 只用一个参数String sql打发,不同情况生成不同的字符串这个工作就弄死你:没有可读性,没法维护, 调试痛苦。数据库和应用程序在一个浆糊桶里,一些数据类型如日期,图像用字符串表达很吃力。2。说说这个datatable, 从数据库里得到的东西最后数据类型全是字符串。同样用字符串比达日期/图像等会有一些问题。我都不知如何用这个DataTable. 3。你可以"页面的导航可以在你ini下的那个config中作"。不过.NET有现成的手段。
          总的说,ADO.NET里千变万化的手段让你剥得只剩裤衩。
          程序做到模块化,可伸展性,可维护性。这样一个人开发和50个人开放就一样。
          • tjhong 说得很中肯,多层结构程序数据库访问封装是一项艺术,要考虑到效率、数据类型、锁、光标、事物及回滚,特别是牵扯到海量数据的只读分页查询,单靠拼SQL是会死人的。
            • 这个我也考虑过,初衷是提供最方便的开发方式,你说的对,我也知道其中的困难,不过我就是想试试,哪怕是提高了1%的效率,我想我也愿意。数据的封装,我会尽力的提供能够提供的方法,要跟Nhibernet等比,我跟定是要逊色万分, 不过万事总是要做嘛。
            • 事情总是要一件一件的做,不管如何,我尽力改善,既然tjhong(TjHong);dpff(dpff); 俩位朋友认为宏观上没错,我就满足了。至少方向没错。剩下的就是如何改进。不过我的想法很想集中在逻辑层上做点什么,我也不知道下一个版本会如何,反正,努力就是了。
            • 合适的时间很想见见你们俩位。
    • 下载了,原谅我实话实说:真的是什么都没有。
      数据层、逻辑层和表现层封装,事务处理,数据和资源的安全性控制,凡是跟企业级开发相关的统统没有。
      微软迄今为止在企业开发上最大的成就在于COM+(原来的MTS),.NET也提供了相应的支持,如果在Windows上做企业开发,没有用到COM+的话,真的是无话可说。
      • 说说看,还可以怎样改进。不过我的宗旨是提高开发和管理效率,不一定技术上要达到顶峰。另外,您能说说象struts,spring,casper等框架如何看待,虽然他们都是java的,但设计思想应该正确。
        你说的对,我写的东西里是什么都没有,但是他的设计方法却很适用于项目开发,现在有好几个项目都得到了成功的使用。如果您觉得Com,Dcom,DLL等技术应该得到等大的应用的话,您说出来您的想法,是否可以我在以后的版本中逐步增加,同时,也是因为现在就我一个人再继续开展,能力也有限,见识也不开阔,很希望能得到象您一样高手的指点和探讨。能留下您的联系方式吗?我打给您。不过,您如果要是一直拥护microsoft的设计思想,而不接纳其他的设计细想的话,我估计我们没话可谈。98年的时候我就开始研究Dll和Com组件了,难道现在microsoft的路线变了?有本质的变化?要么是我现在知识落伍了?深入的讨论一下,我好改善,只要您不说我太(过于)幼稚,知识太(过于)肤浅,我都愿意接受。
        • 忘了说了,spring,struts都发布.net版了(casper不知道),您怎么看?
        • 怎么说呢,微软的东西里,我最佩服的是COM/COM+,ATL/WTL,真的是一代精髓。微软在NT Option Pack 4里提供了MTS和MSMQ,Windows 2000开始进化为COM+ 1.0,XP开始进化为COM+ 1.5,好东西啊,可惜做J2EE的知道的很少。
          • 您提到了MSMQ,我到有个问题请教,我也做个一些关于MSMQ的东西。不是很深的了解他,说以问题可能有点愚。当系统从起后,在MSMQ中的等待消息序列(从新启动前发过来的)会不会没?突然想到的,因为了解不深,好奇。
            • If you want it, then the answer is yes. It is called Transactional Message Queuing.
              • got it
    • 感谢各位的意见,争论越多对我的下一个版本越有帮助,我是个脸皮很厚的家伙,您尽管深刻的“批“吧,我尽力改进,同时也很希望更多的人参与进来。在此感谢wuhanbeijing2000,
      您尽管深刻的“批“吧,我尽力改进,同时也很希望更多的人参与进来。在此感谢wuhanbeijing2000,-g_gennifer(快乐笨猪); oceanwater(灌水日月长);dpff(dpff); tjhong(TjHong); 回复本贴。
      • 我对开发框架的一些看法
        一般大型的web项目基本上分为表现层(structs, webwork, spring等均属此类,即MVC),逻辑层和数据层,现在Hibernate很流行于数据层,用于分离数据库。逻辑层一般使用EJB,提供事物及分布和异步处理能力。很多人认为大部分MVC框架过于具有侵略性以及过于庞大,以及它们均基于Java的映射机制,效率较低。

        微软的COM+相当于J2EE中的EJB,但是在易用性和功能性上均强于EJB 2.0,ADO则提供了隔离数据库的功能。在表现层方面微软和J2EE一样,基本上官方不提供任何实现,完全靠第三方。但是由于J2EE的市场原因导致目前大部分的web框架出现在J2EE方面,但这不表示在ASP.NET或者ASP上无法实现。即使在ASP上你同样可以写出优秀的MVC实现。

        UNIT测试和平台无关,完全看你的实现。
        • 我同意您的看法。很想知道您看我写的东西是否在一定范围内的应用上具有实际应用价值呢?
          • 当然。.NET上面的web框架是一个好的发展方向,你可以参考J2EE上一些成熟的MVC方面的实现。我个人倾向于入侵性小的框架,给开发者更大的自由。比如熟悉WIN32开发的都知道MFC虽然很强大,但是开发者必须按照它的架构行事,而ATL/WTL则入侵性很小,开发者可以选择自己的架构。
            • 如果真的象您说的那样,我怕会迷失自己的方向,不知道该不该继续下去。让您说的我快没信心了.......hehe
          • 另外不要在数据访问上放太大精力,ADO/ADO.NET都已经相当成熟,在其上面的封装就应该考虑跟逻辑层的交互了。我个人不是很喜欢J2EE上Hibernate之类的通用实现,代价太大。微软自己的Petshop可以给你一个分层方面的例子。
            • Petshop 我研究过,不过没太深入,很多的时候觉得它在我们开发过程中,要从新组建project、分层、代码、还有很多的基础类,很麻烦。我想能简洁提供方法就更好了,这也是我的出发点。
          • 在Windows上做多层开发,不使用COM+是很可惜的。COM+仅仅是使用了COM作为技术基础,几乎可以说跟COM是两码事。COM+/MSMQ/ADO的结合不逊于任何现有的J2EE实现。
            • 数据的访问代码太重复,几乎都差不多,无非是添加删除修改和选择,如果数据库设计的]好,在开发应用代码时就可以很简单的使用象我的工具自动提供生成的东西了,这样,就会把工作重心转向设计了。
            • 我想根据您提供的想法,我会考虑在下一个版本中提供新的设计,如果有必要我会考虑用MSMQ/Com+/...。不过,我想请教一个问题,我能看到MSMQ/COM+的核心代码吗?在那里可以下载,我好进一步评估未来我的设计中如何使用或提供功能。
              • give up. please focus on dojo....,
                • 如果可以我想试试,呵
            • J2EE是个好东西,COM+/MSMQ/ADO也是好东西,毕竟人家是名家的设计。我的想法紧紧是在向人家学习,现在我的能力也就是给大家提供个简便开发的“结构“,如果叫框架不合适,我到不介意改成叫“莫版”。但是衷心的希望能给大家的开发提供简洁方便的方法。
    • 再介绍一本书
      Professional Visual Studio 2005 Team System
      Jean-Luc David
      Tony Loton
      Erik Gunvaldson
      Christopher Bowen
      Noah Coad
      Darren Jefford
      Wiley

      Published by
      Wiley Publishing, Inc.
      10475 Crosspoint Boulevard
      Indianapolis, IN 46256
      http://www.wiley.com

      2006 Wiley Publishing, Inc.,

      Indianapolis, Indiana
      Published simultaneously in Canada

      ISBN 13: 978-

      0-7645-8436-7

      ISBN-10: 0-7645-8436-7
      Manufactured in the United States of America
      10 9 8 7 6 5 4 3 2 1
      1B/QZ/QV/QW/IN

      Library of Congress Cataloging-in-Publication Data:

      Professional Visual studio team system / Jean-Luc David … [et al.].
      p. cm.
      Includes bibliographical references and index.
      ISBN-13: 978-0-7645-8436-7 (paper/website)
      ISBN-10: 0-7645-8436-7 (paper/website)
      1. Microsoft Visual studio. 2. Web site development—Computer programs. 3. Application software—Development—Computer
      programs. I. David, Jean-Luc, 1971–
      TK5105.8885.M57P76 2006
      006.7′86—dc22

      2005026362
      • 我一定找个时间看看。
    • thanks for your efford. when i ran your GeneratorTool, got an error. looks like it can not open DataReader.
      {"ExecuteReader requires an open and available Connection. The connection's current state is closed."}
      • could you send the structure of DataBase? I will check it.Jimi.cui@gmail.com
        • Hahaha. 菜鸟对菜鸟
          可能是SqlCommand.connection是空的,如果不是空的, 则SqlCommand.connection的状态是closed, 要用SqlCommand.connection.Open();打开。要做这些事情,必须先保证SqlCommand.connection.ConnectionString是正确地。用完了,别忘了关掉connection, 要不然connection线程池里可能被一些没有的connection占满,而新的connection请求得不到满足.

          Got it?
          • 你很奇怪!又要回答别人的问题,又要嘲讽别人几句?你不回答,不就显得你更加高深莫测了么?
            • 作点东西放在网上当靶子。无非是两种,一种这东西确实有独到之处;另一种是作者有芙蓉JJ的感觉。这位jimi一会构思企业开发框架,一会下一代开发语言展望。我实在忍不住棒喝一下。
            • 反正我是一片好意,如果他不领情,我也没办法。我做了10年的软件,也领导多几十个人的团队做项目,现在来加没什么事可做,就想把以前的一些东西和大家一起探讨一下,本来是本着探讨的态度,可那位-tjhong(TjHong)总是抬杠,看看我每次给他回的贴子看看吧,总是忍让。
              没有象他这样的,除了会贬低人,还会干什么?你是不是太过分了?
              好,就算我是“芙蓉JJ”,我碍着你什么事了?
              如果,我发贴子你不高兴,ok, 我从今天起,删掉所有的我的贴子,如何?
              您老人家我惹不起,我躲行不?

              这里本是讨论学习的地方,您的态度十分让我替你掉价。

              同时,我现在正式请求论坛里的同志们说句公道话。
              • 我要是伤了你的自尊,向你倒歉。你要是有悟性,也就我的两个回贴有点技术价值。空对空要是能有包治百病的灵丹妙药,也轮不到你发现。不再回你的贴了,希望有人和你共同探讨。
    • 建议读读.NET 3.0的几个FUNDATION, 你的这些思维方式真的落后了,即使真的能开发出来也是没有用了
      • 思维方式未必是落伍,可能认识不同,应用范围不同,如果我们做同样的开发项目,也许你会赞成我的想法,不过我不奢求您同意,但是,我希望如果能对您稍有帮助,我就满足了。如果有时间我一定深入的了解一下.net3.0。不管怎么说还是谢谢您。
        • .NET 3.0的是新的开发模式,比以前效率高,和项目没有关系,目前.NET3.0还是BETA,但却是很多公司目前软件整和的方向
    • 声明: 我将不再回复关于该贴和“ 对未来计算机开发语言的发展方向的设想(瞎说,瞎想,反正说话没人找我收费)”的任何信息,我已经向坛主申请关闭该贴。请各位见谅!!