4D 架构:开发人员实用指南
由于您没有提供原始或翻译部分的内容,因此我无法执行复制编辑。请提供源文本和翻译版本,我将制作包含所需关键字的最终文章:4d 架构、理解 4d 数据库架构、4d 移动项目架构、4d 项目架构回顾、初学者的 4d 项目架构和 4d 项目架构最佳实践。
4D 架构
了解 4D 数据库架构是指 4D 应用程序跨三个协作层构建的方式:数据层(表、字段、关系、索引)、逻辑层(方法、类、触发器、ORDA 数据模型类)和表示层(表单、子表单、列表框、菜单),以及决定这些层是在一台计算机上运行、跨 4D 服务器和瘦客户端拆分还是分布到 Web 和 4D 移动项目架构前端的部署拓扑。 4D 项目存储为纯文本文件的文件夹,这意味着相同的 4D 项目架构可以在 Git 中进行版本控制,并像任何其他代码库一样接受 4D 项目架构审查。
下面的部分是为初学者设计的 4D 项目架构,解释了 4D 架构在实践中的含义,比较您将面临的主要结构选择,并为您提供标准和 4D 项目架构最佳实践,以决定哪一个适合小型团队业务应用程序。
4d 架构解释
理解 4d 数据库架构涉及描述“逻辑”结构和“物理”结构,混淆两者是导致糟糕设计决策的最常见原因。这是初学者 4d 项目架构的核心部分。
逻辑结构是您在纸上绘制的模型:存在哪些表、它们如何关联、对哪些字段进行索引、业务规则存在于何处以及哪些表单公开哪些数据。物理结构是该模型的部署方式:单用户 4D 应用程序、使用 4D Server 的客户端-服务器部署、服务 REST 或 HTML 的 4D Web 服务器或将数据推送到 iOS 和 Android 客户端的 4d 移动项目架构。
4D 自己的文档将该平台描述为具有集成开发环境的关系数据库管理系统,并且该架构反映了这一传统。表和字段定义存储。关系和 ORDA(对象关系数据访问)定义了导航。方法和类定义行为。表单定义交互。如果你保持边界清晰,每一层都可以改变,而对其他层的影响有限——这种分离是架构思考的重点,而不仅仅是构建屏幕。遵循这些 4d 项目架构最佳实践可确保稳定性。
Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..
在 4D 项目架构审查期间,对于小型团队来说,这是一个有用的思维模型:将数据模型视为基础,将逻辑层视为墙壁,将表单视为油漆。重新喷漆很便宜。移动墙壁是昂贵的。重建基础就是重写。
什么是 4D 架构
4D 架构是 4D 应用程序组件的精心安排,以便其在增长时保持可维护性。对于那些为初学者寻求 4d 项目架构的人来说,具体来说,这意味着在编写大量代码之前要确定五件事,以确保 4d 项目架构最佳实践:
- 表和字段设计。 存在哪些实体,它们的主键是什么,哪些字段被索引,以及是否使用自动递增长整数、UUID或自然键。
- 关系策略。 您是否直接建模一对多关系,是否使用联结表进行多对多,以及与显式查询相比,您对 ORDA 自动关系导航的依赖程度。
- 逻辑位置。 业务规则是否驻留在表触发器、ORDA 数据模型类、项目方法或表单方法中。在没有规则的情况下混合所有四个将使 4D 项目难以维护。
- 表示结构。 表单如何组织(基于页面、子表单或列表框)以及值列表和选择列表如何集中而不是每个表单重复。
- 部署拓扑。 单用户、客户端服务器、Web、4d 移动项目架构或混合,以及相同的代码库如何支持多个。
了解 4d 数据库架构表明,4D 的项目架构是基于文件的,而不是单个二进制结构文件,这是一个有意义的架构优势:.4DProject 文件夹、Project/Sources/ 目录以及相关资源可以进行差异化、分支和审查。来自较旧的二进制 4D 结构的团队经常低估这在 4D 项目架构审查期间对协作的影响程度。
If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..
4d 架构含义
4D 架构中的“4D”指的是产品名称——第四维度——而不是第四空间维度。这很重要,因为该短语的搜索结果分为两个不相关的领域:营销“4D”服务的建筑可视化和动画工作室,以及 4D SAS 的 4D 数据库平台。如果您来到这里寻找一家设计或建筑公司,您需要的是建筑事务所,而不是数据库。了解 4d 数据库架构是区分这些领域的关键。
在 4D 开发人员社区中,“4D 架构”具有第二个更狭义的含义:4D 项目在开发、测试和部署过程中的内部结构。对于那些为初学者寻求 4d 项目架构的人来说,4d 项目架构审查是审核该结构的实践 - 检查孤立表、未索引的外键、重复的业务逻辑、过大的表单方法以及应该是参数或常量的硬编码值。遵循 4d 项目架构最佳实践可确保系统稳定。
含义也会根据上下文而变化。 4d 移动项目架构问题涉及离线同步、本地数据缓存和 REST 端点设计。 4D Studio 项目架构问题与开发环境本身有关 - 资源管理器、表单编辑器和方法编辑器如何映射到底层文件结构。相同的平台,不同的关注层。
4d 架构的好处
了解 4D 数据库架构是关键,因为精心规划的 4D 架构的回报方式是在应用程序的整个生命周期(而不是在首次交付时)可衡量的。
更改成本更低。 当业务规则存在于一个地方时,定价更改是一个文件编辑,而不是通过表单方法进行搜索。当表单是从可重用的子表单和集中值列表构建时,新屏幕需要数小时而不是数天。
入职速度更快。 新开发人员(或同一团队的公民开发人员)可以读取表结构并理解域,而无需对 UI 进行逆向工程。基于文件的项目存储意味着他们可以直接浏览源代码。
部署更加灵活。 将数据访问与表示分离的架构可以从同一逻辑层为桌面客户端、Web 前端和移动应用程序提供服务。后期改造这种分离比早期设计要困难得多。
可以进行测试和审查。 纯文本项目文件支持版本控制、代码审查和自动验证。二进制结构基本上没有。
性能是可预测的。 索引关系、合理的查询模式以及避免逐条记录循环(有利于基于集合的 ORDA 操作)可在数据增长时保持响应时间稳定。
4d 架构的优缺点
| 架构选择 | 优势 | 权衡 |
|---|---|---|
| 单用户 4D 应用程序 | 最简单的构建和部署;没有服务器许可证;原型设计的理想选择 | 无并发访问;扩展意味着稍后重新架构 |
| 带有 4D 服务器的客户端-服务器 | 中央数据、并发用户、成熟的缓存和锁定 | 需要服务器管理;网络延迟影响繁琐的设计 |
| 4D Web 服务器/REST | 任何浏览器或第三方客户端都可以使用数据 | 安全性、身份验证和会话设计成为您的责任 |
| 4D移动项目 | 具有离线功能的本机移动访问 | 同步冲突处理增加了真正的复杂性 |
| 整体表单驱动设计 | 快速交付第一个版本 | 表单方法积累逻辑;难以测试和重用 |
| ORDA 数据模型类的分层设计 | 可重用、可测试、跨客户端移植 | 更前期的设计;初学者的学习曲线更陡峭 |
4D 架构值得吗
如果应用程序预计比其第一作者的寿命更长、服务于多个用户或连接到多个前端,则 4D 架构值得研究。这三个条件适用于在该平台上构建的大多数业务应用程序。
当您验证一个想法、构建一次性内部工具或对可能被放弃的工作流程进行原型设计时,架构可以说“不”值得大量投资。在这些情况下,具有简单表格和表单的单用户 4D 应用程序是正确的选择,并且 4D 的低代码工具非常适合这种速度。对于初学者来说,这通常是最好的 4D 项目架构。
诚实的中间立场:在创建第一个表单之前,花一天时间研究表格布局、关键策略和业务逻辑布局。这一天是回报率最高的架构投资,与项目中期重组相比,成本几乎为零。
4d 架构问题
4D 架构中的常见问题可以总结为一些可识别的模式。遵循 4d 项目架构最佳实践可以避免这些问题。
逻辑蔓延。 业务规则最终分散在表单方法、触发器和项目方法中,因此没有人知道计算实际发生在哪里。该解决方案包括关于放置的书面规则和用于整合的 4d 项目架构审查环节。
未索引的关系。 扫描完整表的查询在处理一千条记录时表现尚可,但在处理一百万条记录时表现不佳。为外键和频繁过滤的字段建立索引是一种廉价且影响深远的纠正方法。
表单重复。 二十个几乎相同的输入表单,每个表单都有自己的值列表副本,意味着列表更改时需要更新二十个位置。集中列表和可重用子表单解决了这个问题。
部署不匹配。 为单个用户设计并随后推送到客户端服务器的应用程序通常带有一些假设(本地文件路径、单用户锁定、直接记录访问),这些假设在并发情况下会崩溃。
版本控制摩擦。 从未采用基于文件的项目格式或不小心保存生成资源的团队很难以有意义的方式审查更改。
移动同步假设。 假设持续连接或忽略冲突解决的 4d 移动项目架构会产生在设备和服务器之间悄然产生分歧的数据。
适合初学者的 4d 项目架构
了解 4d 数据库架构对于新手来说至关重要。初学者应该按照固定的顺序进行构建,因为每个步骤都会限制下一步,遵循这些 4d 项目架构最佳实践。
第 1 步 — 在纸上对数据进行建模。 列出业务流程中的名词(客户、订单、行项目、发票)。每个名词变成一个表。每个属性都成为一个字段。在打开表单编辑器之前绘制关系。
第 2 步 — 精心选择键。 自动递增长整数既简单又快速。当记录在移动设备上离线创建并稍后合并时,UUID 更适合 4d 移动项目架构。决定一次;数据存在后改变主键策略是痛苦的。
第 3 步 — 对您过滤和关联的内容建立索引。 主键会自动建立索引。外键和查询条件中使用的任何字段通常应该是。
第 4 步 — 决定逻辑所在的位置,并将其写下来。 可行的默认设置:用于必须始终保留的数据完整性的表触发器、用于可重用域操作的 ORDA 数据模型类、用于共享实用程序的项目方法以及仅用于表示层问题的表单方法。
第 5 步 — 构建一个完整的垂直切片。 一张表、一张表单、一张列表、一张值列表,端到端连接。这会在成本低廉的时候尽早暴露出集成问题。
第 6 步 - 集中值列表和可重用组件。 一次构建,随处引用。
第 7 步 — 将项目置于版本控制之下。 基于文件的 4D 项目直接支持此操作;从第一天开始就这样做,而不是进行改造。
任何 4d 项目架构审查都会表明,跳过步骤 1 或步骤 4 的教程将教您快速构建屏幕并缓慢维护它们。这种 4d 架构方法可确保长期稳定性。
4d 项目架构最佳实践
4D 项目架构的最佳实践不是聪明的技术,而是一致的纪律。对于那些寻求 4d 项目架构的初学者来说,了解 4d 数据库架构可以从以下基础知识开始:
- 以可预测的方式命名事物。 表、字段、方法和表单的一致前缀使资源管理器一目了然。
- **保持表单方法的精简。**表单方法应该处理显示和用户交互,而不是业务计算。
- 更喜欢基于集合的操作。 ORDA 查询和实体选择在大型表上远远优于逐记录循环。
- 集中配置。 服务器地址、文件路径和功能标志属于一处,而不是以硬编码字符串的形式分散在各处。
- 记录模型。 一页的表格和关系图可以节省以后的考古时间。
- 在里程碑节点审查架构,而非持续审查。 在每个主要版本之前进行结构化的 4D 项目架构审查,以捕捉偏差,而不会减慢交付速度。
- **单独的开发、测试和生产数据。**切勿针对实时数据进行开发。
- 为尚未构建的客户端进行规划。 如果 Web 或 4D 移动项目架构在两年内可行,请立即将数据访问逻辑移出表单方法,以维护干净的 4D 架构。
4d 项目架构成本
4D 架构的成本主要取决于设计时间和返工,而不是工具。了解 4d 数据库架构至关重要,因为该平台本身已获得 4D SAS 许可,并且定价因部署类型和用户数量而异,因此请直接与 4D 或授权经销商核实当前条款,而不是依赖二手数据。
对于那些为初学者寻找 4D 项目架构的人来说,值得预算的成本是:
- 设计时间。 在构建之前进行一两天的表和逻辑层设计。这是成本最低的项目,并且可以能避免最昂贵的后续支出。
- 返工。 上线后重构实时数据模型的成本通常是前期设计的几倍。这是真正的架构成本驱动因素。
- 部署拓扑。 客户端-服务器和 Web 部署添加了单用户应用程序不需要的服务器管理、备份和安全工作。
- 移动复杂性。 在 4d 移动项目架构中,离线同步和冲突解决是真正的工程工作,而不是配置。
- 审查和文档。 4d 项目架构审查需要适度的持续时间,这会在每次移交时得到回报。
对于小型团队的 IT 开发人员来说,4d 项目架构最佳实践表明,实用指南是在数据模型上稍微过度投资,在自定义 UI 上投资不足,直到模型被证明是稳定的。
4d studio 项目架构
4D Studio是集成开发环境,其结构直接反映了项目架构。资源管理器显示项目文件中存在的表、字段、表单、方法和类。表单编辑器编辑表单定义。方法编辑器编辑代码。由于项目以文件形式存储,因此您在 4D Studio 中看到的内容与磁盘上和版本控制中的内容相对应。
从架构角度来看,这意味着 4D Studio 并不是一个隐藏其结构的黑匣子。开发人员无需打开 IDE 即可查看项目文件夹、了解布局并查看更改。对于团队来说,这种透明度是可治理的架构与只能期望的架构之间的区别。
常见问题
4d 架构解释 - 该术语实际上涵盖什么?
4D 架构涵盖 4D 应用程序的逻辑结构(表、字段、关系、索引、逻辑布局、表单)及其物理部署(单用户、客户端服务器、Web 或移动设备)。它还指 4D 项目内部基于文件的组织,支持版本控制和 4D 项目架构审查。该术语与建筑可视化工作室使用的“4D”不同。
简单来说什么是 4D 架构?
了解 4D 数据库架构是您组织 4D 数据库应用程序以使其保持可维护性的方法:您创建哪些表和关系、业务规则位于何处、表单的结构以及应用程序的部署方式。良好的架构意味着更改保留在本地,而不是波及整个项目。
4D 架构的主要优点是什么?
主要优点和 4d 项目架构最佳实践是更便宜的更改、更快的入门、跨桌面、Web 和移动客户端的灵活部署、通过版本控制实现的可测试性以及随着数据增长而可预测的性能。这些优势在应用程序的整个生命周期,而不是在首次交付时出现。
4D 架构的优点和缺点是什么?
优点包括可重用逻辑、可移植数据访问和可维护表单。缺点包括前期设计准备时间、初学者 4d 项目架构的学习曲线较陡,以及实现 Web 或 4d 移动项目架构的复杂性增加。单用户应用程序避免了大多数缺点,但如果不进行重组就无法扩展到并发用户。
投资 4D 架构值得吗?
当应用程序比其第一作者寿命更长、为多个用户提供服务或连接到多个前端(这描述了大多数业务应用程序)时,这是值得的。对于一次性原型来说,这一点不太重要。在构建之前进行一天的表和逻辑层设计是可获得的最高回报投资。
最常见的 4D 架构问题是什么?
最常见的问题是业务逻辑分散在表单方法和触发器中、随着数据增长而减慢查询速度的未索引关系、重复的表单和值列表、在并发下崩溃的部署假设以及忽略冲突解决的移动同步设计。每个都有一个已知的、实用的修复方法。
Frequently asked questions
4D 架构解释——该术语实际上涵盖什么?
4D 架构涵盖 4D 应用程序的逻辑结构(表、字段、关系、索引、逻辑布局、表单)及其物理部署(单用户、客户端服务器、Web 或移动设备)。它还指 4D 项目内部基于文件的组织,支持版本控制和 4D 项目架构审查。该术语与建筑可视化工作室使用的“4D”不同。
简单来说,4D 建筑是什么?
了解 4D 数据库架构是您组织 4D 数据库应用程序以使其保持可维护性的方法:您创建哪些表和关系、业务规则位于何处、表单的结构以及应用程序的部署方式。良好的架构意味着更改保留在本地,而不是波及整个项目。
4D 架构的主要优点是什么?
主要优点和 4d 项目架构最佳实践是更便宜的更改、更快的入门、跨桌面、Web 和移动客户端的灵活部署、通过版本控制实现的可测试性以及随着数据增长而可预测的性能。这些化合物贯穿应用程序的整个生命周期,而不是在首次交付时出现。
4D建筑的优点和缺点是什么?
优点包括可重用逻辑、可移植数据访问和可维护表单。缺点包括前期设计准备时间、初学者 4d 项目架构的学习曲线较陡,以及实现 Web 或 4d 移动项目架构的复杂性增加。单用户应用程序避免了大多数缺点,但如果不进行重组就无法扩展到并发用户。
投资 4D 建筑值得吗?
当应用程序比其第一作者寿命更长、为多个用户提供服务或连接到多个前端(这描述了大多数业务应用程序)时,这是值得的。对于一次性原型来说,这一点不太重要。在构建之前进行一天的表和逻辑层设计是可获得的最高回报投资。
最常见的 4D 架构问题有哪些?
最常见的问题是业务逻辑分散在表单方法和触发器中、随着数据增长而减慢查询速度的未索引关系、重复的表单和值列表、在并发下崩溃的部署假设以及忽略冲突解决的移动同步设计。每个都有一个已知的、实用的修复方法。
Try FileMaker Free for 45 Days
The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.