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

网站风格设计的选择打开网站搜索

网站风格设计的选择,打开网站搜索,中国服装设计网站,做网站采集内容状态模式是什么#xff1f; 状态模式#xff0c;也被称作状态对象模式#xff0c;是一种行为设计模式。 当一个对象的内在状态改变时#xff0c;允许改变其行为#xff0c;这个对象看起来像是改变了其类。 它让对象在其内部状态改变时改变自己的行为。外部调用者无需了…状态模式是什么 状态模式也被称作状态对象模式是一种行为设计模式。 当一个对象的内在状态改变时允许改变其行为这个对象看起来像是改变了其类。 它让对象在其内部状态改变时改变自己的行为。外部调用者无需了解对象内部状态的具体实现仅需通过简单的接口进行交互。 状态模式适用于哪些场景 当你的对象基于其状态有不同的行为并且其状态可以在运行时动态转换时你应该考虑使用状态模式。 如何在Java中实现状态模式——自动贩卖机 让我们以一个简单的售卖饮料的自动贩卖机为例来展示如何在Java中实现状态模式。我们首先定义一个状态接口 public interface State {void insertCoin();void pushButton();void dispense(); }然后我们为自动贩卖机的每一种状态实现该接口 public class NoCoinState implements State {public void insertCoin() {// 接收硬币并转换状态}public void pushButton() {// 提示用户先投币}public void dispense() {// 无行为} }public class HasCoinState implements State {public void insertCoin() {// 提示用户已经投过币了}public void pushButton() {// 检查库存然后转换状态}public void dispense() {// 无行为} }public class SoldState implements State {public void insertCoin() {// 提示用户等待饮料出货}public void pushButton() {// 提示用户等待饮料出货}public void dispense() {// 出货然后转换状态} }最后我们实现自动贩卖机类 public class VendingMachine {private State noCoinState;private State hasCoinState;private State soldState;private State state; // 当前状态public VendingMachine() {noCoinState new NoCoinState();hasCoinState new HasCoinState();soldState new SoldState();state noCoinState; // 初始状态}public void insertCoin() {state.insertCoin();}public void pushButton() {state.pushButton();state.dispense();}// 其他方法例如改变状态... }这样我们的自动贩卖机就可以根据自身的状态决定相应的行为而无需在一个方法中使用大量的条件语句来判断状态。此外如果未来我们需要添加更多的状态或者行为我们也可以很容易地进行拓展。 另一个例子——音频播放器 让我们从一个现实生活的例子看一看状态模式如何被运用到音频播放器的开发中。 音频播放器根据用户的操作和播放条件可能有多种的状态例如“播放状态”“暂停状态”“停止状态和缓冲状态”。不同的状态下音频播放器的响应行为可能会不同。 首先定义一个状态接口 public interface State {void play();void pause();void stop();void buffer(); }然后实现播放器的每一个状态 public class PlayingState implements State {public void play() {// 无响应或提示正在播放}public void pause() {// 暂停播放并转换到暂停状态}public void stop() {// 停止播放并转换到停止状态}public void buffer() {// 无行为或转到缓冲状态} }// 类似的我们还可以定义PauseState、StopState和BufferingState类在定义了各种状态以后我们就可以在音频播放器类中使用这些状态 public class AudioPlayer {private State playingState;private State pauseState;private State stopState;private State bufferingState;private State state; // 当前状态public AudioPlayer() {playingState new PlayingState();pauseState new PauseState();stopState new StopState();bufferingState new BufferingState();state stopState; // 初始状态}public void play() {state.play();}public void pause() {state.pause();}public void stop() {state.stop();}public void buffer() {state.buffer();}// 其他方法例如改变状态... }这样音频播放器就可以根据当前的状态来进行不同的操作比如在播放状态下如果用户按了播放按钮播放器可以选择无响应或者给出正在播放的提示而在暂停状态下则会恢复播放。这就是状态模式的魅力使得音频播放器的代码更易于管理和维护。如果我们需要添加新的状态或行为也可以轻松地进行拓展。希望通过这篇博文你能对状态模式有更深入的理解和应用。
http://www.hkea.cn/news/14519349/

相关文章:

  • 青海省建设厅职业注册官方网站杭州网络科技设计中心
  • 晋中工商局网站开发区分局金华手机模板建站
  • 企业网站seo外包公司名字大全2022
  • 做网站第一步做什么微信小程序开发费用
  • 网站必须做电子认证吗海报制作软件免费版
  • 淄博公益网站建设如何把网站做成app
  • 家具网站建设公司建设网站需要哪些软硬件条件
  • 有没有发布需求的网站上海发布官网首页
  • 温州建设网站制作网络技术题库
  • 网站自定义功能实现网络基础架构
  • 古镇网站建设公司什么网站做外链优化好
  • 菏泽网站建设电话英文网站seo推广
  • 网站用户黏度wordpress登陆页面模板下载
  • 企业+网站+wordpress做特卖的网站
  • 庆阳网站建设推广成都旅游景点有哪些
  • 织梦制作手机网站模板阿里云虚拟主机装WordPress
  • 网站建设好国际外贸交易平台有哪些
  • 网站开发怎样建立后台数据最吸引人的营销广告词
  • 网站制作流程分为哪三步网站描述作用
  • 个人做商机网站如何盈利安装字体到wordpress
  • 品牌型网站建设哪家网站首页的优化
  • 安徽合肥中国建设银行网站首页网站建设公司哪个好点
  • 海网站建设生产厂家哪家好广州手机网站建设
  • 江苏省建设厅副厅长网站大同建设工程信息网
  • 做网站哪个编辑器好用公司官网怎么维护
  • 阿里云企业网站备案流程莱芜吧莱芜贴吧
  • 网站建设应遵循哪几项原则企业文化模板
  • 这么做钓鱼网站网站 ip修改备案流程图
  • 手机里面的网站怎么制作公司的网络规划与设计
  • 有后台的网站怎么做城市门户网站模板