gpt4 book ai didi

delphi - 使用什么模式为 delphi win 32 应用程序构建层

转载 作者:行者123 更新时间:2023-12-03 14:52:22 24 4
gpt4 key购买 nike

我想使用 dbexpress 开发 mysql 数据库应用程序,从头开始开发或使用现有数据库。要创建可重用层,我应该使用什么模式组件。我希望该应用程序能够轻松扩展到 n 层。尝试在谷歌上搜索现成的框架,但我发现没有太多信息(有些缺乏文档,有些缺乏示例)。

著名的 java 框架 i.batis 或 hibernate 的一些东西会很有用。我熟悉在 PHP 中使用这样的框架来开发 xml 定义的业务对象。我尝试将其转换为 Delphi,但这是一项艰巨的工作。(使用 Delphi 严格类型进行抽象使我的经验水平变得困难。)

Ruby on Rails 类似 ActiveRecord 的实现也可能很有用。

我永远不清楚是否要丢弃 dbaware 组件。

我尝试实现一些设计模式来分离层(数据访问/连接)、(业务对象)、(gui),但没有成功。我试图实现的是模仿乐高(我可以使用任何数据库引擎,任何delphi数据库技术(bde,ado等。dbexpress是必须的,其他是可选的)。我也可以使用xml(mybase或native),文本文件(类似 csv、遗留解析代码)

我可能需要单层、客户端/服务器和 n 层。

此外,我可能需要某种Web服务实现(客户端可能是除delphi可执行文件之外的任何技术,所以我认为轻松生成xml、wsdl是必要的)

数据访问层是最重要的部分。它必须是灵活的,因为其他框架将在其上开发(用户身份验证、应用程序配置等...)。

  • 我可能会挑战开发自己的简单框架(我不知道要遵循什么:数据库适配器模式、数据库连接工厂、映射器、数据访问对象等......)
  • 我可以使用现有的(即时对象不适用。不适用于现有的数据库架构)。我尝试过的其他一些缺乏 dbexpress 支持或者我无法理解配置。

最佳答案

Mohammed 的回复涵盖了您问题的 n 层部分。与 i.batis 或 hibernate 相似的部分将您推向面向对象的持久性框架,例如 tiOPF,它们在某种程度上是一种不同的野兽。

这是我目前所知道的 Delphi 持久性框架的列表。我相信 CG 也在 Delphi Live 上做了某种持久性演示,所以可能还会有其他东西。

FWIW - 我已经在几个商业产品中使用了 InstantObjects (IO)(尽管以非标准方式),并且正在开发 Delphi 2009 的端口。PressObjects 是由一位 IO 开发人员开发的,我最近加入了该项目,因为看起来很有趣。自 YMMV 以来,我不会打折像 tiOPF、Jazz 等框架。我会通过评论对这些框架造成伤害,因为除了简单的测试用例之外我没有使用它们。

关于delphi - 使用什么模式为 delphi win 32 应用程序构建层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/926017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com