组件化
文章平均质量分 79
Z苗
这个作者很懒,什么都没留下…
展开
-
如何使用UIKit来实现导航功能(路由方案)
原ViewController 必须直接依赖目标ViewController这样会导致模块之间相互依赖如图所示路由方案解决各个模块之间的导航问题路由模块路由模块由两个AppRouting(protocol)和AppRouter(class)组成AppRouting 协议定义了路由模块的接口,protocol AppRouting { func register(path: String, navigator: Navigating) func route(to .原创 2021-08-26 15:54:44 · 267 阅读 · 0 评论 -
组件化通讯方案
URL路由目前iOS上大部分路由工具都是基于URL匹配的,或者是根据命名约定,用runtime方法进行动态调用这些动态化的方案的优点是实现简单,缺点是需要维护字符串表,或者依赖于命名约定,无法在编译时暴露出所有问题,需要在运行时才能发现错误。URL路由方式主要是以蘑菇街为代表的的MGJRouter其实现思路是:App启动时实例化各组件模块,然后这些组件向ModuleManager注册Url,有些时候不需要实例化,使用class注册当组件A需要调用组件B时,向ModuleManager传原创 2021-08-25 18:27:44 · 237 阅读 · 0 评论 -
组件化工具BeeHive(一):事件分发
前言BeeHive是阿里开源的一个组件化框架工具,其内部是使用Spring框架Service的理念来实现模块解耦的,实际上就是使用protocol-class的方案。另外,在组件化的基础上,BeeHive还增加了一个事件分发的功能来配合使用。1. 概览官方文档中的架构图:从上图可以看出,BeeHive的工作分为两部分:事件分发BeeHive本身会监听一些系统事件和应用事件,比如App生命周期、推送、handoff等,当事件发生时,BeeHive将其分发给各个模块,然后各个业务模块就可以在自己的原创 2021-08-25 17:13:57 · 744 阅读 · 0 评论 -
设计组件(设计基础组件库)
公共功能组件库公共库的分类内部库该库和主项目共享一个Repo私有库该库使用独立的私有库Repo开源库该库发布到GitHub等开源社区提供给其他开发者使用封装公共功能组件库创建检测使用设计UI组件库间距库头像组件点赞按钮封装UI组件的时候,遵循的原则1.尽量使用扩展方法而不是子类来扩展组件,这样做可以使其他开发者在使用组件时,仅需要调用扩展方法,而不必使用特定的类2.尽量使用代码而不要使用XIb或者Stroryboard,因为有些App完全不使用Interfac原创 2021-08-25 13:36:46 · 625 阅读 · 0 评论 -
iOS 组件化之旅之一
参考思路博客原创 2019-04-04 18:24:58 · 2086 阅读 · 0 评论