带你读《2022技术人的百宝黑皮书》——我在淘宝做弹窗,2022 年初的回顾与展望(4)

简介: 带你读《2022技术人的百宝黑皮书》——我在淘宝做弹窗,2022 年初的回顾与展望(4)

带你读《2022技术人的百宝黑皮书》——我在淘宝做弹窗,2022 年初的回顾与展望(4)https://developer.aliyun.com/article/1340421?groupCode=taobaotech


image.png设计新版弹窗描述数据

在搞清楚业务域的领域边界和领域内容后,就可以开始着手进行 DSL 的设计了,这也是本次项目改造升级的核心环节。DSL 设计的好坏,将直接决定整个项目是否有能力在不断发展变化的业务诉求中始终保持稳定和敏捷。我认为一份好的 DSL 设计,应该同时满足以下要素:

字段设计应符合「奥卡姆剃刀」原则,如非必要,勿增实体:尽可能让数据字段精简,明确,同时,数据组织要合理;

数据模块之间应满足「高内聚,低耦合」原则,尽量避免修改某一个字段时,牵一发而动全身,导致大面积的字段修改;

需紧密围绕特定领域进行设计,既要避免过度设计导致数据结构复杂和字段膨胀,但同时也要充分考虑到未来可能出现的种种可能;理想情况下,未来发展出的新的业务诉求,只需「更新」 DSL 的属性值,而非属性;

 

 

基于以上三个核心设计原则,最终我们产出了淘宝弹窗描述数据规范。其大致可以分为如下 7 个模块:

基础信息模块:包含弹窗的基本信息,如名称,类型等;

组件模块:包含弹窗域所需组件的描述,通过分析历年弹窗域活动内容,我们归纳总结出图片,文字,倒计时, 热区,容器,iframe,视频,状态和关闭按钮共 9 种组件,每种组件都围绕弹窗域需求与手淘基础架构设置了特定的字段,例如对于文字组件,可设置行数与内容,对于倒计时组件可设置是否显示毫秒位,倒计时结束后行为,超过某个临界值是否显示文本等;定制化组件使用户可以非常直观便利地使用各组件完成弹窗搭建任务;

样式模块:负责描述组件的 UI,由于不确定终端渲染环境,因此在样式属性,样式单位的设计上就要充分考虑到不同场景,不同技术选型的限制。通过与客户端同学沟通交流,我们最终将样式属性确定为能满足三端

(H5,iOS,Android)与弹窗需要的最小样式集合;

请求模块:请求模块涵盖了对手淘内常见请求方式的结构化描述,并将该描述同时使用在弹窗曝光前与曝光后, 数据内容覆盖了弹窗域请求所需关注的所有关注点,并支持串行,并行请求的配置;

行为模块:与大多数搭建平台不同的是,PopLayer 弹窗搭建所产出的数据,是对弹窗样式,行为,配置的全面描述。在行为模块中,我们通过梳理历史弹窗行为,对弹窗行为进行结构化定义,从而使弹窗行为可以被简单, 清晰地描述,并通过彼此的排列组合,可以灵活适配各类业务需要;

动画模块:前文有提到过,行业整体的发展,要求更细腻的弹窗展现形式和交互,同时,也要求弹窗对用户有更强的吸引力。为此,我们引入动画模块,通过清晰,灵活的数据结构满足不同场景的动画需要;

其他功能模块:这里则主要包含其他与弹窗域相关的附加功能模块,例如渐进式曝光,承接页预渲染模块等,是对核心模块的扩充;

 

 

 

目前,淘宝弹窗描述数据一级数据共有 17 个,分类如下:

image.png

手淘弹窗描述数据一级字段

 

每个字段均有清晰,及时更新的文档说明与之对应。下面我将以行为模块的设计为例,让读者对 DSL 的设计有进一步的感受。

 

带你读《2022技术人的百宝黑皮书》——我在淘宝做弹窗,2022 年初的回顾与展望(5)https://developer.aliyun.com/article/1340419?groupCode=taobaotech

相关文章
|
8月前
|
存储 缓存 安全
手机缓存清除工具和电脑缓存清除工具有什么区别?
手机缓存清除工具和电脑缓存清除工具有什么区别?
472 94
|
人工智能 自然语言处理 算法
向量检索服务
向量检索服务
482 10
|
编解码 人工智能 测试技术
CogView4:智谱开源中文文生图新标杆,中文海报+任意分辨率一键生成
CogView4 是智谱推出的开源文生图模型,支持中英双语输入和任意分辨率图像生成,特别优化了中文文字生成能力,适合广告、创意设计等场景。
702 1
CogView4:智谱开源中文文生图新标杆,中文海报+任意分辨率一键生成
|
机器学习/深度学习 人工智能 资源调度
基于AI的运维资源调度:效率与智能的双重提升
基于AI的运维资源调度:效率与智能的双重提升
1817 16
基于AI的运维资源调度:效率与智能的双重提升
|
SQL 弹性计算 运维
云卓越架构:稳定性支柱整体解决方案综述
阿里云卓越架构聚焦于五大支柱,其中稳定性是关键。常见的云上稳定性风险包括架构单点、容灾设计不足和容量规划不合理等。为提升稳定性,需从架构设计时考虑容灾与容错、实施变更时遵循“三板斧”原则(灰度发布、可观测性和可回滚性),并确保快速响应和恢复能力。此外,通过客观度量、主观评估和巡检等方式识别风险,并进行专项治理。识货APP作为成功案例,通过优化容器化改造、统一发布体系、告警系统和扩缩容机制,实现了99.8%的高可用率,大幅提升了业务稳定性。
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
945 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
|
SQL 安全 Oracle
SQL Server 链接服务器(Linked Servers)
【9月更文挑战第12天】SQL Server 的链接服务器功能强大,可让你在一个实例中访问其他数据源,包括其他 SQL Server 实例、Oracle 数据库等。它支持数据集成、分布式查询和数据同步,无需复制数据。创建链接服务器需在 SQL Server Management Studio 中进行,并配置名称、类型及安全性。使用时需注意权限、性能和安全性问题,确保系统稳定和数据安全。
919 0
|
图形学
【unity实战】FPS实现拾取和丢弃枪
【unity实战】FPS实现拾取和丢弃枪
364 0
|
Windows
XMind 常用快捷键(思维导图总结)
XMind 常用快捷键(思维导图总结)
744 0
|
人工智能 前端开发 API
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目
1158 1
手把手带你用Python和文心一言搭建《AI看图写诗》网页项目

热门文章

最新文章