基础组件和业务组件解藕

简介: 基础组件和业务组件解藕

app组件化显然分两种:

1.基础组件组件化。

对基础的操作进行组件化。这种组件的通用性很强,本质是通过私有库来实现代码分割。一个组件就是一个私有库。很多公司在做基础组件,做业务组件的不多。基础组件可以依赖其它的组件,它和它依赖的组件是独立的,不能直接访问app应用的对象,变量,函数。如何解决基础组件间的互相依赖,也就是基础组件间的解藕?通过设置代理和block来解决。我倾向于使用block。

2.业务组件化。

就是为了实现一定的业务来抽象出来的私有库。它通常包含一定的页面或一组相关的页面。由于直接参与业务,所以它的抽象层次很高,可复用性比较低。大家知道传统的页面间跳转是通过在前一个页面生成另一个页面的对象软后pushViewController或presentViewController到另一个页面,这样肯定没有办法实现带页面的业务组件。如何实现页面间的跳转,也就是如何解藕业务组件?我们是使用的蘑菇街页面跳转来实现的解藕的。由于业务组件可复用性比较低,所以很多公司没有公司没有实现业务组件化。当然现在比较流行sdk开发,sdk也可以做成业务组件。为了不打破app原来的色调,所以sdk很少包含页面的。

页面跳转如下:

    NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
    [userInfo setSafeObject:self.auctionListEntity.auctionSpecialLiveEntity forKey:@"auctionSpecialLiveEntity"];
    [MGJRouter openURL:@"gb://auctionSpecial" withUserInfo:userInfo completion:nil];

可见,页面间的跳转没有使用另一个页面的类命。

很多人搞不清楚组件和app架构等基本概念。

mvc和mvvm指的是架构。它只是已经代码组织形式。它是一种看不见摸不着的概念。

蘑菇街跳转基础组件不是蘑菇街架构,它只是页面跳转的解藕方式,它也方便了实现mvvm架构的实现,属于它是一种看得见的技术。

组件本质就是私有库,它是看得见一堆相关文件。

蘑菇街的框架是包含一组技术,蘑菇街的页面跳转只是一种页面跳转技术。

所以别把组件当架构理解了,更别把蘑菇街页面跳转当app框架理解。


目录
相关文章
|
存储 JSON druid
使用阿里云相关组件总结
总结我个人使用过的阿里组件
|
25天前
|
存储 JavaScript
组件间通信的方式有哪些优劣势
组件间通信方式多样,包括直接引用、事件触发、状态管理等。直接引用简单直观但耦合度高;事件触发灵活解耦但过度使用会增加调试难度;状态管理适用于复杂应用,维护全局状态,但学习成本较高。
|
3月前
|
编解码 前端开发 JavaScript
动态组件有哪些常见的应用场景呢
【8月更文挑战第30天】动态组件有哪些常见的应用场景呢
76 1
|
4月前
|
开发框架 JavaScript 前端开发
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
|
4月前
|
Java 测试技术 开发者
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
|
6月前
|
小程序 开发者
社区每周丨交易组件新增扩展组件介绍文档及开发成员管理能力优化
社区每周丨交易组件新增扩展组件介绍文档及开发成员管理能力优化
65 11
|
人工智能 JavaScript 前端开发
如何开发一个人人爱的组件?
本篇文章类似一个菜谱,比较零碎的记录一些组件设计的内容,作者分别按照 1~5 星 区分其重要性。
|
前端开发 开发者
「前端工作小记」关于业务组件的思考
用技术实现梦想,用梦想打开前端技术之门。分享我在日常开发中关于业务组件的思考。
344 1
「前端工作小记」关于业务组件的思考
|
数据可视化 前端开发 Java
云巧组件如何实现代码架构设计可视化
在项目搭建完成进行了N个迭代之后,往往因为需求的变化以及设计的缺陷导致领域模型、接口、数据库设计等和最开始的时候大为不同,架构设计需要保鲜会花去大量的时间。有没有一种办法可以实时反应项目的各种技术设计呢?就像Swagger一样,代码自动生成文档。我们采用了静态代码扫描的方案,通过代码来反应真实的技术设计,这就是《云巧工坊-应用素描》的功能。
276 0
|
Android开发 Java
[架构设计] 组件和模块的区别
组件(Component)和模块(Module)又是一对容易混淆的名词,也常常被用来相互替换。两者是否有差异往往取决专业背景、所在领域、以及视角。个人总结,从设计上来看,组件强调复用,模块强调职责(内聚、分离),或者说组件是达到可复用要求的模块。
3046 0