美文网首页
CloudAAC-一个简洁的MMVM框架

CloudAAC-一个简洁的MMVM框架

作者: Petterp | 来源:发表于2020-09-16 09:47 被阅读0次
image.png

什么样的框架适合你?什么样的框架也许都不适合你。

与大千你我一样,皆是从 无架构到MVC->模块化->MVP-> MVVM->AAC->组件化AAC。

很多时候,我有在考虑,我们真的需要过度去设计吗?可能有人喜欢 BaseVMFragnment<xxViewModel>,但有些时候,我们真的需要ViewModel吗,我们真的只有一个ViewModel吗,我可能真的不想去写<BaseViewModel>,对于2020的今天,带着这些问题,我开始思考,什么样的架构才是我们最合适的,适合于各类人士?,我想不出来,于是将选择主动权交给大家,并将过程中的一些想法通过代码汇聚于此,便于为大家提供思路,这就是CloudAAC,化繁为简,一个简易的组合式框架。

github:https://github.com/Petterpx/CloudAAC

如何使用?

导入依赖

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}
implementation 'com.github.Petterpx.CloudAAC:core:v1.0.3' 

CloudAAC已经导入了以下组件:

//一个非常优秀的状态栏处理工具
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'

//Android-ktx扩展相关
implementation 'androidx.activity:activity:1.1.0'
implementation 'androidx.fragment:fragment-ktx:1.2.5'

//viewModel数据恢复
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0"

扩展支持

core模块仅提供了核心的基础类,选择将主动改造权交给了大家,为了更好的便于使用,CloudAAC 支持扩展 以下模块。

implementation 'com.github.Petterpx.CloudAAC:databing_ktx:v1.0.3' 
implementation 'com.github.Petterpx.CloudAAC:viewbing_ktx:v1.0.3' 
implementation 'com.github.Petterpx.CloudAAC:tab_ktx:v1.0.3' 

核心类解释

Core

基础 Base 类。

  • BaseActivity ----基础BaseActivity类
  • BaseFragment ----基础BaseFragment类
  • ...其他相关工具

Databing_ktx

适用于 Databinding 的通用 Activity && Fragment.

注意: binding 变量 请谨慎使用,非必要场景下,务必禁止使用,避免造成视图不一致的问题。

  • BaseDataBingActivity<Bing> ----Activity-DataBing扩展
  • BaseDataBingFragment<Bing> ----Fragment-DataBing扩展
  • DataBingdinConfig ---- DataBing的配置相关 (参考自 KunMinx)

ViewBing_ktx

适用于 ViewBing 的通用 Activity && Fragment.

  • BaseViewBingActivity<Bing> ----Activity-ViewBing扩展

  • BaseViewBingFragment<Bing> ----Fragment-ViewBing扩展

  • BaseViewBingVMActivity<VM,Bing>

    Activity-ViewBing扩展,包含了默认的viewModel委托使用

  • BaseViewBingVMFragment<VM,Bing>

    Fragment-ViewBing扩展,包含了默认的viewModel委托使用

Tab_ktx (仍在优化中)

适用于主页 tab 的 扩展。

  • base
    • BasePagerAdapter
    • BaseTabActivity
  • ...其他相关工具

...ktx

更多扩展等待加入,CloudAAC 尽可能采用扩展与组合方式,以便于不同人群的不同需求,当然如果你有更好的想法,欢迎 PR.

你知道的越多,你不知道的越多。并不提倡大家去频繁造轮子,但希望大家都能拥有去改造轮子的想法,CloudAAC 代码结构比较清晰,相关注释与边界已经注明,希望会对你会有所帮助。

相关文章

  • CloudAAC-一个简洁的MMVM框架

    什么样的框架适合你?什么样的框架也许都不适合你。 与大千你我一样,皆是从 无架构到MVC->模块化->MVP-> ...

  • MMVM模式

    1. MVMM模式 1.1 定义 M(Model)模型 —— V(View)视图 —— VM(ViewModel)...

  • python简单使用Flask框架

    Flask 后端框架 flask是一个非常轻量化的后端框架,与django相比,它拥有更加简洁的框架。django...

  • 用Kotlin写的简单实用的MVP框架

    一、前言 MVP模式是目前非常的一种框架,虽然很多人已经更进一步选择了MMVM,但是由于本人目前还未在正式项目中使...

  • express框架入门

    express框架入门 什么是express Express 是一个简洁而灵活的 node.js Web应用框架,...

  • nodejs-Express web 学习与实践

    Express web 开发框架简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供一...

  • Steeze框架之入门使用

    一、介绍 steeze是一个优雅、简洁而又高效的PHP开源框架。在整合了知名框架ThinkPHP和Laravel优...

  • 零基础入门python web框架Flask开发

    Flask框架是Python开发的一个基于Werkzeug和Jinja 2的web开发微框架,它的优势就是极其简洁...

  • W技术周报-20170217

    框架 Wire Protocol BuffersWire是由Square开源的一个简洁、轻量级的Protocol ...

  • AFNetwoking源码——基本架构

    2017-08-04iOS开发 概述 从上图可以发现,AFNetwoking框架是一个比较简洁的框架,主要分为了几...

网友评论

      本文标题:CloudAAC-一个简洁的MMVM框架

      本文链接:https://www.haomeiwen.com/subject/vnrcyktx.html