在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):Meituan-Dianping/Shield开源软件地址(OpenSource Url):https://github.com/Meituan-Dianping/Shield开源编程语言(OpenSource Language):Java 74.2%开源软件介绍(OpenSource Introduction):Shield概述
接入在工程的
设计思想1.模块独立模块具备完整的页面能力(生命周期,Context等),模块可以在不同的页面中自由组合,模块与页面高度解耦,模块不关心具体在哪个页面中运行。模块之间需要解耦,模块只关心自己涉及的状态和数据。 2.数据驱动模块的表现只取决于所依赖的数据,而与具体的行为无关。 3.接口整个模块化框架通过抽象接口进行交互,通过接口规范行为,通过接口的不同实现达到多态的目的 整体框架一个典型的模块化页面主要由页面和多个模块构成。页面通过模块配置(Config)确定加载哪些模块构成页面。模块又分为业务逻辑(Agent)和视图逻辑部分(SectionCellInterface, 包括 Section 和 Row)。 页面包含两个管理器,模块管理器(AgentManager)和视图管理器(CellManager)。其中模块管理器决定了如何创建,更新,恢复及销毁模块以及如何将模块添加到页面中; 视图管理器则决定了页面使用何种视图容器管理视图以及模块中的视图组件(SectionCellInterface)如何添加到视图容器中。 除此之外,页面还持有一个支持数据订阅和通知的白板(WhiteBoard),用于模块与页面,模块与模块之间的数据交互。 接入请参照Sample中的com.example.shield.fragments.AgentManagerFragment 另外:
博客文章技术支持
ChangeLog[2018.3.12]
[2019.1.30]
贡献代码
LICENSEShield is MIT licensed |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论