0%

WebSocket


传统的Http协议

无请求,不响应

  • 浏览器向服务器发送请求,服务器回应
  • 服务器想要定期推送数据,需要用JavaScript定时轮询

WebSocket:Http升级版

请求

GET /chat HTTP/1.1
Host: www.example.com
Upgrade: websocket
Connection: Upgrade

响应

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade

特点

  • TCP连接will go on
Read more »

四周年

不知不觉已经打了四年守望了,游戏时间将近1000个小时,是我这辈子玩的时间最长的游戏。我从第一个赛季就开始玩儿,现在已经900级了,如果考虑到当初防沉迷的限制(游戏时间3小时以上就不再有经验),我现在应该已经1000级了。再考虑到,我帮好几个同学从黄金上到钻石,游戏时间还要再往上涨。不过就算玩了这么久,昨天周年庆有活动,还是去网吧又玩了8个小时,这游戏的魅力自然不必多说了。

Read more »

Visitor


定义

表示一个作用于某对象结构中的各元素的操作

可以在不改变各元素的类的前提下定义作用于这些元素的新操作

Read more »

Template Method


定义

定义一个操作中的算法的骨架

将一些步骤延迟到子类中

子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

核心思想

父类定义骨架

  • 骨架一般声明为final

子类实现(某些)细节

  • 需要子类实现的一般声明为protected
Read more »

Strategy


定义

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。

本模式使得算法可独立于使用它的客户而变化。

Read more »

状态


定义

允许一个对象在其内部状态改变时改变它的行为

对象看起来似乎修改了它的类

栗子

qq的状态

  • 我在线上
  • Q我吧
  • 离开
  • 离线
Read more »

Observer


定义

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

何时可以用到

两个Object需要互通有无的时候

Read more »

Mediator


定义

用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

引入一个中介对象,把多边关系变成多个双边关系

Read more »