状态模式:state 定义:当一个对象内部状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 例子: 设计模式一书中,举了TCP状态转移的例子。比如tcp连接在listen状态收到syn,并发送syn+ack时,进入syn receive 状态。当在syn receive状态收到ack 则进 ...
分类:
其他好文 时间:
2016-06-30 23:09:53
阅读次数:
135
示例代码: 1.首次运行打印出来的消息是: 2016-06-30 17:17:19.610 测试状态改变[53450:338456] application:didFinishLaunchingWithOptions: 2016-06-30 17:17:19.613 测试状态改变[53450:338 ...
分类:
移动开发 时间:
2016-06-30 18:19:53
阅读次数:
146
观察者模式定义:定义一种一对多对依赖关系,使得当一个对象状态改变,则所有依赖于它的对象都会得到通知并被自动更新。 举个栗子:夜里猫叫一声,家里的老鼠撒腿就跑,同时人也被吵醒了。 这个场景中,猫可看作是"被观察者",老鼠和人可看作是"观察者"。 代码清单-1 动物叫的接口 代码清单-2 被观察者-猫 ...
分类:
其他好文 时间:
2016-06-29 01:12:34
阅读次数:
192
状态模式 何时使用:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。 如何解决:创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象,对象的行为依赖于它的状态,并且可以根据它的状态改变而改变它的相关行为(可通过调用内部的状态对象实现相应的具体行为)。( ...
分类:
其他好文 时间:
2016-06-27 20:00:11
阅读次数:
121
在开发中,经常会遇到需要判断手机网络状态从而进行各种操作的功能,在这里简单介绍下这种功能的实现。如题,通过BroadcastReceiver我们能在网络状态改变的时候监听到它。那么,注册广播的两种方式:1.静态注册:在AndroidManifest.xml中用标签声明注册,并在标签内用标签设置..
分类:
移动开发 时间:
2016-06-27 17:49:40
阅读次数:
328
document.onreadystatechange = subSomething;//当页面加载状态改变的时候执行这个方法. function subSomething() { if(document.readyState == "complete"){ //当页面加载状态为完全结束时进入 // ...
分类:
其他好文 时间:
2016-06-27 11:57:05
阅读次数:
99
什么是观察者模式? 观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常 ...
分类:
其他好文 时间:
2016-06-26 15:25:08
阅读次数:
113
这几天一直在忙期末考和实训,写笔记的时间也没有多少,不说废话了:
这文主要写两种模式:状态跟策略,主要是因为他们的类图一样,并且比较简单,写在同一篇文章里面容易甄别
状态模式:允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类
先保留概念的意思,在平常的编程中,如果需要不同的状态,很一般的做法是在你要操作的类里面定义不同的常量代表不同的状态,然后if-else依据不同的状态有不...
分类:
其他好文 时间:
2016-06-24 15:45:01
阅读次数:
279
格式: for(int i =1/*初始条件*/;i<=100/*循环条件*/;i++/*状态改变*/) { //循环体,执行代码;(break;跳出循环体) } 给出初始条件,先判断是否满足循环条件,如果不满足条件则跳过for语句,如果满足则进入for语句执行,for语句内的代码执行完毕后,将按照 ...
分类:
其他好文 时间:
2016-06-23 12:34:25
阅读次数:
127
For循环 语句:顺序,分支,循环 循环:反复执行某一段代码 循环四要素:初始条件,循环条件,循环体,状态改变 格式: for (int i = 1/*初始条件*/; i <= 100/* 循环条件*/; i++ /*状态改变*/) { //循环体,执行代码;(break;跳出循环体) } 从给出的 ...
分类:
其他好文 时间:
2016-06-22 23:39:02
阅读次数:
199