首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >TQ框架解析(五):框架的 UI 组件

TQ框架解析(五):框架的 UI 组件

作者头像
firstxinjie
发布2024-12-06 14:06:11
发布2024-12-06 14:06:11
3520
举报
文章被收录于专栏:X#(XSharp)X#(XSharp)

既然称之为开发框架,总要顾及到开发过程中的方方面面。UI 组件是不能缺少的。

整体而言,框架的风格是抄袭了用友NC的风格,也就是 TDI 风格(Tabbed Document Interface - 标签式文档界面)。这种设计可以让用户方便地在多个文档或任务之间快速切换,而不需要打开多个窗口,从而提高工作效率和界面的整洁性。因此,6.0 版在软件设计上推荐更好的业务表单设计以最大化 TDI 所带来的收益。针对具体的表单而言,为了呈现比较现代的视觉效果,自然少不了采用一些第三方的 UI 组件类库加以润色,毕竟轮子在那里,何必重造?况且未必比别人的漂亮。

当然,这些第三方的 UI 组件都是所谓的开源版本。因为在其中使用了倦猫所写的组件,而按照倦猫的软件协议,除非你一个字母一个字母的抄一遍不收钱之外,其实都是应该支付版权费用的。因此,经过与倦猫的协商,每一份专业版框架的销售都需支付其 OEM 版权费用。

有人就说了,那还吹啥牛逼啊,都是别人的......我仅仅是描述了一个事实。VFP 的 UI ,如果真的是靠堆第三方库,那真的没必要吹牛逼。每当我看着别人用我推荐的第三方库堆出惨不忍睹的 UI 时,我就差一片速效救心丸了......

在 VFP 中,比较常见的,也是比较重要的可能就是按钮类了,框架的按钮类,在类浏览器里是这样的:

而文本框,在框架中是这样的:

下拉列表框也是这种“风格”:

为什么要这么做呢?你还记得前面的思想实验吗?这些常用控件都是为字段映射准备的。

如果你还记得并真正理解我前面提到的成员数据,那就能够想象出它并不仅仅是为了提供生成器模板而存在了。想反,借助类的成员数据,能够完成你可能想象不到的生产力提升。想想要更改类实例属性时的键盘噼里啪啦的响声,点点鼠标就可以完成难道不香吗?而这,不过是其中蕴含的技巧之一。

其实,再多的花招都蒙蔽不了人的双眼。每个类的存在都有自己的重大意义。

对于按钮类和表单类来说,才是重中之重。它们虽然看上去像是和数据操作紧密相关,本质上,在框架体系下,不过都是传声筒。否则,数据处理和 UI 怎能分离的那么彻底?

cmd.Click -> From.Method -> Dataenvironment.Method -> Cursor.Method

这是框架体系下一个完整的数据处理链条。但是,框架已经很好的处理了它们之间的耦合,你注意到浅灰色的箭头了吗?每一个表单都有自己的商业逻辑对象,而表单和“属于”它的商业逻辑对象,可以完全解绑。也可以双剑合璧!

如果你认为开发框架就这么点儿本事,我也无话可说。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 xinjie的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档