Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > Java 中的模式 --- 简单的状态模式
【标  题】:Java 中的模式 --- 简单的状态模式
【关键字】:Java,---
【来  源】:http://www.blogjava.net/dreamstone/archive/2006/12/03/85173.html

Java 中的模式 --- 简单的状态模式

Your Ad Here 状态模式很简单,无论是理解,还是实现,都很简单。
一、定义:
1,状态模式允许一个"对象"在其内部状态改变的时候改变其行为。
2,状态模式的角色:
抽象状态,具体状态,环境(context)角色
状态模式的角色比较简单,不用解释了,看名字就能了解。
二、状态模式的实现
1,简单实例
?1public?class?Context{
?2????private?State?state;
?3????public?void?sampleOperation(){
?4????????state.sampleOperation();
?5????}

?6????public?void?setState(State?state){
?7????????this.state?=?state;
?8????}

?9}

10public?interface?State{
11????void?sampleOperation();
12}

13public?class?ConcreteState?implements?State?{
14????public?void?sampleOperation();
15}
2、状态模式的经典实现
Tcp就是状态模式的一个经典实现:TcpConnect 他有三个状态,TcpEstablished? TcpListen? TcpClosed
TcpConnect的功能会跟着状态的改变而改变。或是Established,或是Listen,或是Closed
三、状态模式的与策略模式,看到上边的部分,很容易让人想到策略模式,这两个模式有什么区别呢?如何使用
策略模式:
1,当一个环境角色选择了一个具体的策略,那么在整个环境类的生命周期都不会改变
2,策略模式的环境自己选择一个具体的策略
3,策略模式并不明确告诉客户端它所选择的具体策略是什么,对客户是黑箱。
状态模式:
1,在整个环境类的生命周期中会有明显的状态改变。
2,状态模式是被外在原因放入一个策略
3,状态模式明显的告诉客户端当前的状态,对客户是白箱。
Configuration DataSource At WebSphere6:【上一篇】
Java中的模式 --- 双重接口的实现,备忘录模式:【下一篇】
【相关文章】
  • 用OpenSSL与JAVA(JSSE)通信
  • SquashFS HOWTO (一) ---简介
  • 今天你写控件了吗?----ASP.net控件开发系列
  • 用"堆栈区数据复制"理解Java赋值和参数传递机制的心得
  • 用java对屏幕拷屏
  • 本blog暂停,转移到http://jeffen2006.javaeye.com
  • 关于JAVA-一些要记住的东西
  • JAVA处理汉字
  • 关于JAVA中的日期时间
  • 关于JAVA中的类
  • 【随机文章】
  • 跟我学之用FormLayout打造自适应窗体大小的控件布局
  • All Aboard! SE 完全破解实战(9)
  • 常用头文件的一点技巧
  • 一次入侵的经过(1)
  • 学习笔记:win32asm的一个简单程序及注释
  • mysql 乱码问题
  • 3ds Max 入门视频(56)鱼
  • 编译器中主要的数据结构
  • 最近在研究Swept Volume的碰撞检测。
  • MySQL编译调整优化简明指南
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.