Android组件化模块化在移动应用开发中 (序)

·  阅读 1259

组件化模块化

[TOC] 在移动应用上由于应用本身与使用者相贴近,日常开发中难免的需求变更朝令夕改、朝三暮四,尤其遇到没啥规范流程的或者形式主义流程;

关于组件化模块化是什么及其优点不再赘述,在此补充点优点而已:减少名言的联想

Linus:Read the fucking source code

我们的终极目标不仅是解耦等。简化、轻量化框架,减少过分约束而给予组件/模块内充分的自由,从初始设计已有两年余,由于重复搬砖没得时间记录, 文章中尽量不贴fucking code,有良好的思路大家都会有很好合适自身需求的实现。

组件 模块

鉴于网上很多文章对于组件模块的定义众说纷纭,再次声明本文定义,参考资料来源维基百科

基于组件的软件工程(Component-based software engineering,简称CBSE**)或基于组件的开发(Component-Based Development,简称CBD)是一种软件开发范型。它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件。这样不仅可以节省时间和经费,提高工作效率,而且可以产生更加规范、更加可靠的应用软件

网络请求

	//登录请求
    private void click() {
        getViewModel(LoginViewModel.class)
                .sendAction(new RequestAction()
                        .setTipsArgs(new VmTipsArgs.Builder().tipMessage("请求失败了").build())).
                doOnData((action, data) -> {
                    AppLog.d(TAG, "发起登录成功 doOnData1=", data);
                    showToast("登录成功1" + data);
                })
                .doOnData((action, data) -> {
                    AppLog.d(TAG, "发起登录成功 doOnData2=", data);
                    showToast("登录成功2" + data);
                })
                .doOnDone(action -> {
                    AppLog.d(TAG, "发起登录完成1");
                    showToast("登录结束");
                })
                .doOnListener(action -> {
                    AppLog.d(TAG, "开始登录 loading....");
                    showToast("loading....");
                })
                .doOnDone(action -> {
                    AppLog.d(TAG, "发起登录完成2");
                })
                .doOnError((action, e) -> {
                    AppLog.d(TAG, "登录失败");
                })
        ;
    }
复制代码

日志

MainActivity  doOnListener开始登录 loading....  
MainActivity  doOnData发起登录成功 doOnData1=  "{uid:123}" 
MainActivity  doOnData发起登录成功 doOnData2=  "{uid:123}"  
MainActivity  doOnDone发起登录完成1  
MainActivity  doOnDone发起登录完成2  
复制代码

组件化模块化需要解决的问题

解决问题

未完待续...

分类:
Android
标签:
分类:
Android
标签:
收藏成功!
已添加到「」, 点击更改