Android框架与State模式

2646 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
想从编程到设计的Android开发者
你将会学到
上一章介绍了Strategy模式之美,本章则将介绍State模式之美。两者有雷同之美,一样的序,但包容了不同层面的繁杂多变。
课程简介

   一个Android应用程序在其生命周期里(Life Cycle)常会历经数个不同之状态(State),当处于不同状态时,常需要表现出不同的行为,因而需要设计不同的状态类别,以包含其会变的部份,以便表现不同的行为。例如,飞机具有4个典型的飞行状态,一开始处于Preparing状态,然后进入TakingOff状态,代表飞机正起飞中。不久,进入Flying状态,代表飞机正平稳飞行中;欲下降时,进入Landing状态,逐渐降落于机场跑道。在这个飞机的仿真应用程序上,可设计4个状态类别来表达飞机处于不同状态下的不同行为。此时,也是从飞机类别里将程序码的会变(会随着所处状态不同而变)部分分离开来,委托给不同的状态类别(State Class)去实现。

    上一章介绍了Strategy模式之美,本章则将介绍State模式之美。两者有雷同之美,一样的序,但包容了不同层面的繁杂多变。


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交