当前位置: 首页 > news >正文

宝塔做网站全媒体运营技巧和工具

宝塔做网站,全媒体运营技巧和工具,沈阳网站备案查询,大米包装设计核心 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题 结构 环境类(Context): 环境类中维护一个State对象,它定义了当前的状态,并委托当前状态处理一些请求; 抽象状态类(State): 用于封装对象的一个特定状态所对应的行为&a…

核心

  • 用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题

结构

  • 环境类(Context):
    • 环境类中维护一个State对象,它定义了当前的状态,并委托当前状态处理一些请求;
  • 抽象状态类(State):
    • 用于封装对象的一个特定状态所对应的行为;
  • 具体状态类(ConcreteState):
    • 实现了抽象状态类,每个具体状态封装了各自状态对应的行为;

场景

  • 电梯的运行
    • 维修、正常、自动关门、自动开门、向上运行、向下运行、消防状态
  • 红绿灯
    • 红灯、黄灯、绿灯
  • 请假审批
  • 企业或政府系统
    • 公文的审批
  • 网购订单状态
    • 下单
    • 已付款
    • 已发货
    • 发货中
    • 已收货

开发中常见的场景

  • 银行系统中账号状态的管理
  • OA系统中公文状态的管理
  • 酒店系统中,房间状态的管理
  • 线程对象各状态之间的切换

举例代码实现

  • 场景:酒店系统中房间的状态变化:

    • 已预定: 已预订状态可以入住,入住后就变成已入住状态;也可以取消预订,取消预订后就变成空闲状态;
    • 已入住: 已入住状态可以退房,退房后变成空闲状态;
    • 空闲: 空闲状态可以预订,预订后变成预订状态;也可以入住,入住后变成已入住状态;
  • 代码实现

  • 抽象状态类(State)

/*** 抽象房间状态 接口*/
public interface State {void handle();
}
  • 具体状态类(ConcreteState)
/*** 空闲状态*/
public class FreeState implements State{@Overridepublic void handle() {System.out.println("房间空闲中,可预订。。。。。");}	
}
/*** 已预定状态*/
public class BookedState implements State{@Overridepublic void handle() {System.out.println("房间已预订。。。。。");}	
}
/*** 已入住状态*/
public class CheckedInState implements State{@Overridepublic void handle() {System.out.println("房间已入住,请勿打扰。。。。。");}	
}
  • 环境类(Context)
/*** 环境类:* 房间对象,持有状态的引用*/
public class HomeContext {private State state;/*** 设置状态。。* @param state*/public void setState(State state){System.out.println("修改状态。。");this.state=state;this.state.handle();		}
}
  • 客户端调用
public static void main(String[] args) {HomeContext hc=new HomeContext();hc.setState(new FreeState());hc.setState(new BookedState());hc.setState(new CheckedInState());
}



更多设计模式学习:

          设计模式(1):介绍
          设计模式(2):单例模式
          设计模式(3):工厂模式
          设计模式(4):建造者模式
          设计模式(5):原型模式
          设计模式(6):桥接模式
          设计模式(7):装饰器模式
          设计模式(8):组合模式
          设计模式(9):外观模式
          设计模式(10):享元模式
          设计模式(11):适配器模式
          设计模式(12):代理模式
          设计模式(13):模板方法模式
          设计模式(14):命令模式
          设计模式(15):迭代器模式
          设计模式(16):观察者模式
          设计模式(17):中介者模式
          设计模式持续更新中…

http://www.yayakq.cn/news/118328/

相关文章:

  • 北京网站建设网站改版的费用网站关键词做标签
  • 什么网站可以做视频剪辑的兼职揭阳公众号开发
  • 网站设计的原则有哪些虾米 wordpress
  • 交流做病理切片的网站如何做网站宣传自己
  • 什么是功能型网站网站地图什么意思
  • 网站建设购销合同平台公司331名单
  • 如何查询网站的备案信息查询90设计app
  • 台州网站制作 外贸wordpress的android应用
  • 网站克隆镜像做关键字seo中国建筑装饰网注册用户名
  • 易利购网站怎么做企业年金保险是一种什么保险
  • 做网站用什么代码编写西安市建设工程信息网诚信平台
  • 百度的企业网站做一组静态页面网站多少钱
  • 淘客怎么做网站张掖网站建设推广
  • 建销售网站需要多少钱网站关键词先后
  • 河北网站备案 多长时间通过永久域名免费注册网站
  • 博罗网站设计公司湖北网站建设找哪家
  • 做网站 用 云主机用wordpress建一个网站
  • 网站支付方案的设计网站开发后台用什么
  • 网站模板如何制作怎么在网上做销售
  • 然后做服装网站购门户网站系统
  • 搭建网站的工具网页设计专业公司
  • 做酒的网站有哪些做网站 赚钱
  • 下载的网站模板怎么用红酒 专业 网站建设
  • 网站流量 seo济南智能网站建设咨询电话
  • 查询建设规范的网站h5页面设计软件
  • 淘宝网站建设 推广 上海网站怎样做 文件签收
  • 做民宿最大的网站花都网站开发公司
  • 重庆哪里有做淘宝网站推广的网站选项按钮
  • 建设公司网站需要注意什么宁波网站公司哪家好
  • 企业网站不付服务费应该怎么做贵阳奇点未来网站建设