基础组件和业务组件解藕

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

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
使用阿里云相关组件总结
总结我个人使用过的阿里组件
|
2月前
|
开发框架 JavaScript 前端开发
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
|
2月前
|
Java 测试技术 开发者
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
开发与运维组件问题之开发组件的时候,对于插槽中需要使用到组件上下文的情况如何解决
|
4月前
|
前端开发 JavaScript Java
浅谈企业级前端应用中的组件概念和具体的应用
浅谈企业级前端应用中的组件概念和具体的应用
|
4月前
|
小程序 开发者
社区每周丨交易组件新增扩展组件介绍文档及开发成员管理能力优化
社区每周丨交易组件新增扩展组件介绍文档及开发成员管理能力优化
59 11
|
人工智能 JavaScript 前端开发
如何开发一个人人爱的组件?
本篇文章类似一个菜谱,比较零碎的记录一些组件设计的内容,作者分别按照 1~5 星 区分其重要性。
|
前端开发 开发者
「前端工作小记」关于业务组件的思考
用技术实现梦想,用梦想打开前端技术之门。分享我在日常开发中关于业务组件的思考。
324 1
「前端工作小记」关于业务组件的思考
|
数据可视化 前端开发 Java
云巧组件如何实现代码架构设计可视化
在项目搭建完成进行了N个迭代之后,往往因为需求的变化以及设计的缺陷导致领域模型、接口、数据库设计等和最开始的时候大为不同,架构设计需要保鲜会花去大量的时间。有没有一种办法可以实时反应项目的各种技术设计呢?就像Swagger一样,代码自动生成文档。我们采用了静态代码扫描的方案,通过代码来反应真实的技术设计,这就是《云巧工坊-应用素描》的功能。
266 0
|
存储 API 容器
类式组件三大核心属性
类式组件三大核心属性
|
JavaScript 开发者
组件式开发的优势
组件化最明显的两个优势:代码解耦和并行开发。通过不同维度和应用环境下进行不同程度的拆分,达到组件灵活配置,增加开发效率的目的。 所以细化来说,组件化就是根据功能和业务来拆分module,最后module组成模块,而后模块组装成应用。
771 0