互联网寒冬公司倒闭后,Android事件动机模式




[](https://gitee.com/vip204888/java-p7)5.事件动机模式的原理

=========================================================================



[](https://gitee.com/vip204888/java-p7)5.1 对方法进行拆解封装重构

-----------------------------------------------------------------------------



对方法进行拆解封装重构的例子:



void functionX() {

sentenceA();

functionB();

functionC();

}

private void functionB() {

sentenceD();

functionE();

}

private void functionE() {

sentenceF();

}

private void functionC() {

sentenceG();

sentenceH();

}




对方法functionX()拆解封装重构之后得到:



void functionX() {

sentenceA();

sentenceD();

sentenceF();

sentenceG();

sentenceH();

}




重构之前,functionX()方法调用语句sentenceF()形成的栈是:



functionX() > functionB() > functionE() > sentenceF();




重构之后,functionX()方法调用语句sentenceF()形成的栈是:



functionX() > sentenceF();




[](https://gitee.com/vip204888/java-p7)5.2 事件是程序执行的动机

----------------------------------------------------------------------------



例如,点击登录按钮执行登录这个过程,是点击事件导致了登录请求的执行。  

再例如,点击桌面图标启动某个App这个过程,是点击事件导致了某个Activity的创建。  

再例如,应用收到一个透传的推送消息而弹出某个提示这个过程,是网络消息事件导致程序的执行。  

于是得到命题一,**命题一**:事件是程序执行的动机。  

事件是程序执行的动机,意味着程序的方法栈的栈底是一个事件方法。  

例如,执行登录网络请求时,程序的方法栈是:



onClick() > requestLogin() > HttpUtil.login();




其中onClick()就是登录按钮的OnClickListener监听器的事件方法。  

对onClick()方法进行拆解封装重构之后,requestLogin()就消除了,执行登录网络请求的方法栈变为:



onClick() > HttpUtil.login();




于是得到结论A,**结论A**:对事件方法进行拆解封装重构之后,程序调用各个子模块的方法都是事件方法。



[](https://gitee.com/vip204888
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>