苍耳's blog

标签 · 组件化

首页

关于

归档

架构iOS组件化MVP

DDComponent:iOS 页面拆分框架的设计与实践

面对日益复杂的业务页面,如何将巨石 ViewController 拆解为可独立开发、独立测试、跨页面复用的功能模块?本文介绍 DDComponent 框架从设计思想到落地实践的全过程,涵盖 MVP 模式重定义、双树架构、状态驱动更新、增量 Diff、自动绑定、通信机制、拆分粒度控制等核心话题。 一、痛点与目标:为什么需要页面拆分?1.1 业务复杂度失控随着业务迭代,一个页面往往承载了多个方向的业务逻辑——点赞、评论、分享、播放、埋点、广告……所有逻辑混在一个 ViewController 或一个巨大的 Presenter 中,所有人都在改同一个文件,导致: 协作冲突频发:多人并行开发同一页面时,Git 冲突几乎不可避免 复杂度线性增长:每新增一个功能,文件的认知负荷就增加一分,最终变得无人能完整理解..

更多
组件化UICollectionView

页面组件化设计汇总

现在的应用都是越来越大,越来越复杂,更加需要模块的精细化切分,以及支持多人共同合作开发。 目前大量应用单纯一个页面的业务量级已经非常庞大,这里就来再次从页面级别讨论一下页面组件化。

更多
组件化IGListKitDDComponent

IGListKit简析与DDComponent

在我们的项目中大量使用了列表以及模块化的思想,所以才有了DDComponent,这个的原理在之前的美学的表现层组件化之路详细的说明了使用方式。最近翻了翻IGListKit的代码,发现他的思想和我的思想非常的类似,但也有部分区别,这里就来分析下IGListKit的场景。 Star

更多
loading..
组件化

美学的表现层组件化之路

在很多以内容为主的应用中,比如考拉、严选,以及我们美学,界面内容通常比较复杂丰富,一个页面通常分为多个模块,各个模块之间独立性强,这样势必一个controller里面会有很多很多代码与逻辑来处理模块组合,导致代码日益膨胀。 这是一个表现层模块化组件,按照页面视觉结构,将一个页面划分为多个模块,然后通过模块间的简单组合,来实现复杂页面。并且将部分逻辑功能放到了对应组件,以达到复用与使用简单的效果。 目前,我们大部分展示型页面controller只有请求相关代码,基本能够控制在200行左右。 后来发现IGListKit和我们的思想非常类似。IGListKit简析与DDComponent

更多