当前位置:首页 >> 智能

抖音 iOS 推荐 Feed 容器本土化总结

来源:智能   2023年04月30日 12:15

全局、可构建等竞争者。

业务部门模组

业务部门模组是和业务部门强关的的模组,业务部门方可以根据自身的只能同步进行自如独创,模组本身可插拔,由各业务部门方同步进行控管。

分析方法布景

业务部门方基于 Feed 桶内,重新组合业务部门模组和典范模组借助于的首页,在本体处理过程里面可以基于文档意味着桶内的独创,比如破例和非议。

桶内化工具

多个业务部门交互作用在同一个桶内里面,引发桶内类更加笨拙,一方面造成各方同时控管更加吃力,另一方面对于更进一步业务部门和更进一步学姐互联十分不密切合作,只能费用很多时间相像上下文以不必要删改对其他业务部门造成冲击。

为此建筑设计了 ControllerKit 库里,该库里意味着了复杂首页的试用,由此可知决 ViewController 笨拙疑虑,标准编码分割标准,给予试用作法的能力也。各个互联方按照法则申请后,意味着自己倾听的有机体作法,并在作法里面意味着相异的逻辑学方能。

ContainerViewController

ContainerViewController 是桶内 ViewController,意味着了 ContainerProtocol,复原了上下文环境,全由了各个有机体作法的试用。

ContainerProtocol

表示遗憾了桶内全面给予的要素和作法,不便各个 SubController 同步进行到访。

ControllerProtocol

表示遗憾了典范的表示遗憾周期和共有的作法。

Controller

Controller 是将 ViewController 里面的编码分割单单来的孙子子系统,可以接收试用单单来的 viewDidLoad、viewWillAppear 等有机体及示例作法绑定,还可以向 ViewController 里面添加孙子 View。

ControllerManager

ControllerManager 全由 Controller 的申请、管理工作、作法试用。通过 classNameArray 离开 Controller 的字符串类名数据类型方能,可以支持 Controller 在其他仓库里的能力也

Manager 只能表示遗憾试用的 Controller 备忘录,只只能表示遗憾,不只能意味着,Manager 内部会通过死讯发送到组态实质上试用。

各角色中间的父孙子关系

ContainerViewController 意味着了 ContainerProtocol,并持有者 ControllerManager,各个孙子 Controller 申请到 ControllerManager 里面,各个 Controller 可以通过 ContainerProtocol 到访桶内的能力也,ControllerManager 通过 ControllerProtocol 里面表示遗憾的作法同步进行试用。

比如:ContainerViewController 函数绑定后绑定 viewDidLoad 时,会通过 ControllerManager 左至右试用到意味着该作法的 controller 里面,各个 Controller 在自己的 viewDidLoad 作法里面意味着自己的逻辑学方能。

Controller 优先级

作法试用优先级按照数据类型给予的顺序,因此更加典范的 Controller 应排在前面

优先级由申请顺序要求,因此各不相同作法优先级能够调整,也不希望有调整,能够保证时,通过其他方式为意味着

Feed 桶内的意味着

根据 ControllerKit 对 Feed 桶内的类骨架改造如下所示

FeedViewController 作为桶内,意味着桶内能力也,全面通过 FeedContainerProtocol 被到访

Controller 相异业务部门模组

FeedControllerManager 全由模组的申请、管理工作和血案的试用

基于 ControllerKit 的建筑设计和意味着

各个类和备忘录的概述:

FeedContainerProtocol

桶内层通过 FeedContainerProtocol 全面给予能力也

不必要业务部门方并不需要到访和重写桶内类

该备忘录给予了业务部门层只能的各种能力也和接口

由和平台方同步进行控管

FeedControllerProtocol

业务部门层备忘录通过 FeedControllerProtocol 表示遗憾

定义了各个有机体关的的作法,被各个业务部门 controller 意味着

各个意味着业务部门只只能在相异的有机体作法里面增高自身的逻辑学方能

被注入的 controller 会在附加的时机被绑定到

业务部门自受控

Context 与 ContainerProtocol 的导向和区别

FeedContainerProtocol 用来给 controller 给予 FeedViewController 意味着的能力也

FeedContext 里面贮藏 Controller 共用的平衡状态

两个都能意味着无线电,但 context 更加非常重视平衡状态,而 ContainerProtocol 更加非常重视能力也,比如首页回转、图表缔造

业务部门模组定义

定义业务部门 Controller 类

意味着 FeedControllerProtocol 备忘录

在相异的有机体作法里面意味着相异的业务部门逻辑学

若 FeedControllerProtocol 不保证情况时根据以后说明方式为在备忘录里面增高更进一步的有机体作法,同时同步增高到 FeedContainerProtocol ,以便试用

重构后业务部门给定方式为

开放性由和平台业务部门政治体制骨架方控管

其他业务部门的开放性构建只能提交到政治体制骨架方,由政治体制骨架方开发计划

其他业务部门提交的拟议和重写,转交政治体制骨架方 review

业务部门方的编码,业务部门方自受控

防盗缘故建设项目

为了防盗止随着业务部门的给定,Feed 桶内随之缘故,只能同步进行防盗缘故建设项目。首先同步进行开放性和业务部门分仓:

编码分开,重写特权等价;

开放性部分,路中做 Pipeline 管理工作制度,Lint 检查确实符合桶内法则; 业务部门方重写桶内编码,review 通过后才能合入

更进一步拟议竞争者

业务部门由此可知耦,恰当了业务部门和桶内的主要职责,疆界清晰

降较低 FeedViewController 控管效益

减少更进一步业务部门互联效益

不便做防盗缘故

互联示例

以下以浓厚兴趣必需和业务部门为例,概述更进一步老业务部门的互联。

更进一步功能性互联 - 浓厚兴趣必需

浓厚兴趣必需是更进一步的各种类型的明信片,只能同步进行明信片申请并处理处理过程关的逻辑学。

历史拟议

FeedViewController 并不需要同步进行重写,以外如下内容:

增高平衡状态管理工作要素

只能在 tableview delegate 和 scroll 回转等多个作法里面增高附加的处理处理过程逻辑学

处理处理过程申请明信片逻辑学

更进一步拟议

取用实质上的业务部门 Controller

在有机体作法里面处理处理过程浓厚兴趣必需关的逻辑学

业务部门关的的要素在 Controller 里面表示遗憾和控管

Controller 申请到 ControllerManager

在相异的 Controller 里面同步进行自己的业务部门处理处理过程方能,不只能知晓桶内本身的其他业务部门逻辑学

储存量功能性分割—Feed 监视

Feed 监视功能性在 FeedTableVC 里面处理处理过程了很多业务部门,而且这些逻辑学也其他业务部门存在着交互作用。

网络请求监视和图表处理处理过程

首页回转

播放处理处理过程

...

改用更进一步拟议同步进行分割

首先创设 FeedMonitorController,增高业务部门关的的要素、有机体作法里面意味着相异的逻辑学,之前取用实质上的业务部门 controller 在有机体作法里面处理处理过程亲戚关的逻辑学。同时申请到 controllerManager 里面,并设为 AB、原有编码判断 AB。下线有效性,全量后更正桶内老编码。之前业务部门自受控,于是又同步进行给定时并不需要在 FeedMonitorControlle r 内容重写方能。

这两项进展Simon后续建设

建设和节奏

重构后的额度

业务部门由此可知耦后,桶内本身稳固,业务部门方各自控管自身业务部门,大大提高了基本的稳固性

老桶内 更进一步桶内 因为业务部门交互作用,只能知晓 Feed 的骨架和多业务部门的细节,更进一步学姐相像的时间只能 2 天大约;在意味着处理过程里面,由于多个业务部门同时同步进行给定,密切相关,总质量能够保障 只只能在自己的业务部门 Controller 开发计划方能,无需倾听桶内的骨架以及其他业务部门方,前所未有的大大提高了开发计划和给定成本;删改不冲击其他业务部门线的编码,保障了编码的稳固性

全量业务部门在业务部门模组里面意味着了自受控

正式版同步进行了映射

☞何学姐发明人“会自己打字的键盘”,但摄像机构图却随之“不合理”…

☞ 一位“老程序员”的反思:C、Python、Java 必兼得,专注懂得一门编程语言就行!

☞腾讯二季度净利遭“腰斩”,雇员上年月薪8.5万;正面击倒,iPhone 14 将与三星 Mate 50 系列同期披露|怪胎号外

贵阳甲状腺医院哪家专业好
北京肛肠医院
脚扭伤疼吃什么药物可以缓解
惠州男科医院排名
天津男科病治疗费用
友情链接