今天看了一个Android的Training生命周期转换的例子,顿觉得他的设计非常巧妙,我的分析如下:

         1.在com.example.android.lifecycle包中有:

                    3个正常的全屏activity,一个类似dialog的activity

         2.在com.example.android.lifecycle.util包中有:

                    StatusTracker.java, 用于将activity产生的已执行的周期函数和当前的状态存储在两个list中

                    Utils.java, 用一个线程动态的更新activity中的两个显示当前周期函数调用栈帧和当前activity所处的状态

         当读到这个代码时,觉得写的很顺意,很快就知道这是怎么回事儿,我把它归结为:

                    activity中产生数据(消息),切换状态

                    StatusTracker.java 存储数据(消息)

                    Utils.java 读取或是说消费数据,也可以说是将消息展示出来。

          这似乎和出名的MVC相像,但有不全像,但此种设计确非常的清晰,而且非常的高效

          这里把数据的产、存、消分开写,思路很不错

          

          在android的开发中,我觉得也应用到MVC,他将数据与逻辑分离,这样看起来思路清晰

          Activity无时无刻不在与用户接触,接受用户的事件,数据等,然后响应,做出一定的改变,

          对此,我觉得应该也把相应的数据和逻辑分出来,这样不至于第二次看代码时,还不知道这

          部分是干嘛用的,还得苦心思去冥想这个类在此扮演了什么角色。

            Android中,呈现数据的效果无疑不是xml文件,这个可以做为view,没有逻辑

            在activity中有一堆的事件监听,我认为可以把获得用户的事件的消息分离出来,另外写一个

           包或类控制器来处理,监听事件中只负责接受消息,将消息传入控制器,根据控制器来更新view

          模型当然是独立的了,有控制器来连接,主要用来做数据的存储、封装等

         

          总的来说,xml文件为试图view ,监听器做为控制器的一部分, 而模型应当独立出来,这样我觉得代码 

          的维护就比较简单了。