带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(6)

简介: 带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(6)

带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(5)https://developer.aliyun.com/article/1340322?groupCode=taobaotech


image.pngprg 组 件 通 用 标 准            

prg::com组件基本标准,所有的prg组件都遵守。

 

每个prg组件,都以…Service命名,以 I…Service接口的方式对外暴露,在C…Service里实现。Service概念:Service即是prgcom组件,是客户端内的独立业务单元,是对独立业务能力的抽象。 接口:IxxxService(在biz/interface目录,IxxxService.h文件)

实现:CxxxService(在biz/xxx/service目录) 获取实例:GetxxxService()

 

使用方法:

  1. 所有prg组件对外提供服务的方式是统一的。
  2. 使用者可以通过GetxxxService()接口获取到prg组件实例,然后通过IxxxService提供接口和事件使用组件。
  3. 组件内部实现CxxxService不对外暴露。

 

 

 

image.png

 

 

image.png非UI组件标准

不包含ui界面的组件,平台差异影响较小,内部按业务需要设计,遵守prg组件基本标准即可。

 

image.pngUI组件标准

跨端ui组件的标准,主要包括了mvp分层,ui生命周期管理,以及各种场景下的多ui组合等。

 

ui组件依然遵从prg组件的通用标准,也支持prg组件的所有特性。

Service:是一个prgcom组件对象,外部使用ui组件时,直接操作service,就像使用非ui组件一样。UI:是界面整体,ui里包含presenter、view, 这里ui和view要区分清楚。

Presenter:是界面的逻辑对象,p层控制了所有业务逻辑,也控制view的输入输出。View:是界面的渲染对象,只负责界面渲染和用户操作输入。

 

在prg框架下,A组件调用组件B的UI接口:

image.png

 

 

ui组件的复杂性:

  1. 不同平台下的ui机制不相同,界面风格和操作习惯也不同,如何确保双端业务逻辑一致
  2. ui对象的生命周期一般由ui框架内部管理,如何确保ui组件的生命周期管理不出问题
  3. 如果一个组件里,包含多个ui怎么处理?多个ui之间并列关系怎么处理,嵌套关系又怎么处理?
  4. ui组件的场景太多,光标准定义就很复杂,如何在实际项目中落地实施

 

带你读《2022技术人的百宝黑皮书》——跨桌面端之组件化实践(7)https://developer.aliyun.com/article/1340320?groupCode=taobaotech

相关文章
|
10月前
|
人工智能 Rust API
AI 乱写代码怎么破?使用 Context7 MCP Server 让 AI 写出靠谱代码!
本文通过实际案例演示了如何利用 Context7 MCP Server 解决 AI 编程助手中的代码幻觉问题和使用过时 API 的问题。借助 Context7 获取最新、最准确的代码建议,显著提升了 AI 生成的代码质量,从而有效提高了开发效率。
2632 10
AI 乱写代码怎么破?使用 Context7 MCP Server 让 AI 写出靠谱代码!
|
机器学习/深度学习 人工智能 开发框架
智能ai量化高频策略交易软件、现货合约跟单模式开发技术规则
该项目涵盖智能AI量化高频策略交易软件及现货合约跟单模式开发,融合人工智能、量化交易与软件工程。软件开发包括需求分析、技术选型、系统构建、测试部署及运维;跟单模式则涉及功能定义、策略开发、交易执行、终端设计与市场推广,确保系统高效稳定运行。
|
11月前
|
JSON API 开发者
1688 快递费用 API 接口的技术剖析与应用
1688快递费用API接口为企业和开发者提供自动化、高效化的快递费用查询服务,打破人工查询的繁琐局面。通过输入寄件与收件地址、商品重量、体积及选择快递公司等信息,接口精准计算费用并返回结果,支持中通、圆通等主流快递。输出内容包括快递费用、预估时效及附加费说明,助力电商精细化运营。Python示例代码展示了如何使用requests库发起POST请求并解析响应数据,实现费用查询自动化。
528 10
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件
359 0
|
人工智能 数据可视化 程序员
精心整理自学python的宝藏网站,不看亏死
精心整理自学python的宝藏网站,不看亏死
816 4
精心整理自学python的宝藏网站,不看亏死
|
缓存
vue2进阶篇:vue-router之路由的props配置
vue2进阶篇:vue-router之路由的props配置
216 0
|
弹性计算 供应链 并行计算
阿里云ECS服务器五种计费模式有啥区别?包年包月、按量付费、抢占式实例、节省计划和预留实例券
阿里云服务器计费多样化:包年包月适合长期稳定服务,如Web网站;按量付费适合短期或波动需求,如测试、扩展;抢占式实例享折扣但可能被释放,适合无状态任务;预留实例券抵扣按量付费账单;节省计划提供资源使用承诺的折扣,适用于用量稳定的业务。
615 7
|
存储 分布式计算 Hadoop
hadoop中压缩及存储常见格式图解
hadoop中压缩及存储常见格式图解
255 0
|
运维 Linux Shell
Linux系统之网卡子接口配置方法
Linux系统之网卡子接口配置方法
673 0
|
安全 Linux 网络安全
如何在 Rocky Linux 9 上打开 80 端口?
如何在 Rocky Linux 9 上打开 80 端口?
877 0