1.在delphi多层方案里midas在数据处理上(将数据打包发送中间层)确实很方便,而且高效。可是我感觉midas的本身结构就将中间层的数据和逻辑耦合到了一起,在大项目的维护上很不好并且也不符合oo的思想。
我也使用过c#来设计多层系统,基本上思想是这样:客户端(传递类实例)-〉webservice->逻辑层-〉数据持久层-〉数据库。在客户端只涉及表现层的东西,对于数据的逻辑都放在逻辑层,并且使用持久层进行数据的维护,我觉得这样的架构维护方便,在客户端很多的时候部署也很方便(逻辑层的修改只需修改服务器端)。
在c#\java上持久层的资料以及代码生成器真是应有尽有,可我现在奇怪的是delphi在这方面却是空白(我所了解的很多公司都不是采用的上述方法),网上关于
delphi o/r方面的资料也是了了可数,确实使用了o/r映射会使开发的工作量要大些,可对于一个大型的软件而言软件的可维护性和健壮性才是最主要的。为何有这种现象呢?我本想使用delphi来设计一套持久层,在此之前我想先听听大家的意见和见解
2.如果采用多层的设计方案,那末客户端和逻辑层的连接是否就只能通过webservice来实现,是否还有其他的方案?
我也使用过c#来设计多层系统,基本上思想是这样:客户端(传递类实例)-〉webservice->逻辑层-〉数据持久层-〉数据库。在客户端只涉及表现层的东西,对于数据的逻辑都放在逻辑层,并且使用持久层进行数据的维护,我觉得这样的架构维护方便,在客户端很多的时候部署也很方便(逻辑层的修改只需修改服务器端)。
在c#\java上持久层的资料以及代码生成器真是应有尽有,可我现在奇怪的是delphi在这方面却是空白(我所了解的很多公司都不是采用的上述方法),网上关于
delphi o/r方面的资料也是了了可数,确实使用了o/r映射会使开发的工作量要大些,可对于一个大型的软件而言软件的可维护性和健壮性才是最主要的。为何有这种现象呢?我本想使用delphi来设计一套持久层,在此之前我想先听听大家的意见和见解
2.如果采用多层的设计方案,那末客户端和逻辑层的连接是否就只能通过webservice来实现,是否还有其他的方案?
解决方案 »
- ACCESS中SQL查询日期中月日与当前月日差多少天,如何写???
- MediaPlayer控件问题,如果判断是否正在播放中?????????????????
- 急呀,哥哥们,怎么在Delphi里动太的创建个InterBase的数据库出来呀,谢谢谢谢
- 开发过DB组件(数据感知控件)的近来一起探讨! 200409
- 一段汇编代码,欢迎大家讨论
- 自动打开菜单项
- 动态创建adocommand后,怎么初始化。
- 必须要用缓存更新输入数据,又要即时对输入数据进行合计(即是一边输单,下面显示合计)。该怎样做?
- 在delphi中,可否定义一量,它能被读写,又能保存最新的值,在改写之前它不会变.
- 紧急帮忙!
- EXCEL数据导入 DELPHI到数据库的困惑?
- delphi 里 有类似 VS.NET 里的AutoResetEvent 类吗?
我以前用C#,现在用Delphi,刚开始郁闷架构,现在郁闷它的TDbGrid。
1. 可这样做的最大的目的是降低逻辑层和数据层的耦合,这对于一个大的项目的维护是很重要的。
2.减少频繁的对客户端的更新
1.用MIDAS,客户端完全可以只使用数据而不捆绑逻辑,逻辑可以在服务端实现。
不知道楼主为啥认为MIDAS一定是数据跟逻辑不能分?
2.您可以试一下INTRAWEB,它实现B/S结构,相当吸引人的工具。
不过不知道能否支持楼主的大系统要求了。
另外想问一下:LZ想设计的持久层是为了达到什么目标?
因为DELPHI里都有持久层的工具:ADO那些。
2.INTRAWEB确实是个很方便的建网站的途径
3.持久层:无非执行的是数据存取操作,之所以要使用持久层就是我们要在多层结构的系统中对数据进行存取。ADO、bde...从某种意义上他们是实现的持久层的功能,可对于系统中的持久层来说他们都只是持久层的一部分或者说是一个工具。
所指的大型就好像一个城市的社会保障系统这样的规模,因为缺乏运行环境的支持,譬如:内存回收机制等。
1.如果你指的是SPRING里展现数据跟业务对象的自动映射机制,DELPHI里确实没有,需要你开发来支持。不过,有没有必要完全像SPRING那样分离就视乎情况而定了。
2.INTRAWEB可以用来建网站,而且很方便,不过它主要是为了WEB应用而设计的。
3.如果你想开发像HIBERNATE那样的持久层机制,可以。不过,有多少DELPHI开发的系统需要一个持久层来管理数据存取呢?
我很不同意这个观点,hawk_e2e(hawk_e2e) 可以去了解下现在软件业(erp等)的绝大多数winform系统是使用那种语言。
在winform上我依然认为:‘delphi是winform的王者’
就算是一个集团的ERP又能有多复杂?怎能跟一个城市的社保系统的规模相比。
我也只是打了个类比。个人认为在一个大型的系统里,对运行环境的必要支持是很重要的,如:避免内存泄漏,避免引用非法指针,对关键资源的保护(即安全性)等,否则在设计上和测试上要花很多功夫,而且稳定性还不一定能保证。
言归正传:
如果使用语言delphi,在一个winform系统上,有设计持久层的必要吗??原因我现在的意见是:需要,1.这对于系统的后期维护有好处,逻辑清晰
2.使得系统再日后再挂web版等的系统很方便(只需设计表现层)
如果要delphi来开发,可以用一个国人自己开发的中间件(www.quickburro.com):QuickBurro系统较准确地抓住了分布式应用开发的核心问题,不仅分布式开发的“数据库-中间件-瘦客户端”这种三层模型设计思想得到了很好的贯彻,同时进一步向程序员提供了实现横跨Internet广泛区域内的软件开发共性部分:组网、命名、寻址、连接维持、远程数据交换、数据压缩传输、加密传输、通信并发性能改善、同步事件等等,并以“基础协议—通信软件—API接口”机制进行技术实现。系统主要功能特色如下: 在Internet上架构大型树状级联网 升级动态IP的Internet节点成为树状级联网节点 升级企业内网节点成为树状级联网用户 独特的节点代码和用户代码命名规则 支持对级联网中任意节点的快速寻址,并对应用程序透明 上下层节点间自动维持连接,断开后自动重建连接 智能分担根节点压力,有效利用固定IP节点的资源 UDP技术与Socket技术结合,并发性能及响应速度优异 采用小容量信息加密、大容量信息压缩机制,传输速度快 支持对任意节点内网数据库的读写,并对应用程序透明 支持内网用户间、外网节点间、用户与节点间的各种数据通信 支持信息群发,一句代码完成向成千上万的各地用户发布信息 支持业务逻辑插件的本地挂接和远程自动挂接及远程调用 支持自定义格式数据的传输,具备无限的业务扩展能力 监控功能丰富、系统稳定可靠、可无人值守运行 提供应用编程控件,应用程序接口(API)极佳 本系统与三层结构中的CORRBA、.NET、COM/DCOM等技术在实现的效果上有些类似,但编写应用程序的过程则区别较大。后者并不支持专用网的组建、分层的命名/动态IP寻址、UDP形式的连接维持等,因而在广域网上组件专用级联网并编写应用程序时,仍然需要程序员额外编写大量代码,技术难度仍然较大/较多;而使用本系统,这些问题都不再需要考虑,程序员的主要精力将更多地投放到应用逻辑的实现上,因此负担更轻。
从BlueTrees(蜗牛) 的发言看,说出这么多问题,是属于还没有掌握设计的缘故,而不是分层本身的问题。
============================================
老兄你太搞笑了,知道什么是无知者无畏吗?
--------------
也算是其中一个说法
实现远程连接的c/s,b/s混合架构
希望牛人过来讲讲。。
另外visibroker在那里下载大家知道吗》