delphi - 关于在 Delphi 中分离数据访问、业务逻辑和 GUI 的任何建议

标签 delphi user-interface orm business-objects business-logic-layer

我想将数据层与业务逻辑分开,并将业务逻辑与 GUI 分开。深入网络后,我偶然发现了一些资源,但仍然无法理清思路。有些人谈论模式,有些人则指出各种框架。 我的要求是:

  • 处理来自rdbms(主要是mysql)的数据CRUD操作
  • 处理 id 生成(我应该使用自动增量或提供的数据引擎还是生成的 pascal 代码)
  • 表关系可能是逻辑关系(不使用引用完整性),也可能不是逻辑关系
  • 需要能够从数据模型生成对象关系
  • 数据必须转换为业务对象并操作业务逻辑
  • 应使用现有的 GUI 组件或免费软件

我需要的是:

  • 关于基本示例代码/应用程序布局(例如单元-类-模块-目录)的一些指导技术/建议...由于不是 OOP 专家,当我必须设计类层次结构时,我会感到困惑
  • 带有教程的简单框架
  • 甚至是您自己的日常代码/框架/方法

最佳答案

由于您使用的是 Delphi,因此请务必查看 DataModules。这是放置数据库访问组件和逻辑的地方。

将类放入普通的“Unit”文件中。

让 UI 与这两者对话以使事情发生。您可以直接在表单上使用数据库访问组件,但这最好以“仅显示”模式完成,并使用数据模块对数据进行操作。 (您可以在基本应用程序的表单上执行所有操作,但如果您想要模块化应用程序,则将其分开是明智的)。

关于delphi - 关于在 Delphi 中分离数据访问、业务逻辑和 GUI 的任何建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/839957/

相关文章:

multithreading - Delphi EOutOfResources 屏幕截图

mysql - 按 2 列的字段值排序 - mysql - delphi - dbgrid

c++ - Delphi中树形 View 中节点的放置位置绘制线

sqlite - 如何在 Delphi 将整数值插入 SQLite 表

ios - 可以在 iPhone 6 中使用 iPhone 5 图像而不调整大小吗

c - GUI系统实现

ruby-on-rails - searchkick 索引相关模型字段

Java Swing 。从 JButton 打开一个新的 JPanel 并使按钮变得漂亮

java - 与 JPA OneToMany 映射的只读关联

ruby - Sequel 的 ClassTableInheritance 插件是否可以配置为存储模型名称以外的其他内容作为键?