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

wordpress图片无损压缩奶盘seo伪原创工具

wordpress图片无损压缩,奶盘seo伪原创工具,wordpress发布文章附件,保定网站seo哪家公司好目录 一. 概述 二. 主要角色 三. 代码示例 四. 优缺点 优点: 缺点: 五. 常见应用场景 一. 概述 状态模式是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定…

目录

一. 概述

二. 主要角色

三. 代码示例

四. 优缺点

优点:

缺点:

五. 常见应用场景


一. 概述

        状态模式是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定的状态相关的行为放到一个类中,并且将请求委托给当前状态对象来执行。

        在状态模式中,我们创建表示各种状态的对象和一个行为随状态对象改变而改变的Context对象。

二. 主要角色

状态模式主要包含三个角色

  1. Context(上下文):维护一个指向当前状态对象的引用,这个引用指向的状态对象定义了在特定时间对象将如何响应请求。

  2. State(状态接口):定义一个接口,以封装与Context的某个状态相关的行为。

  3. Concrete State(具体状态):实现State接口,并且包含与特定状态相关的行为。

三. 代码示例

以啊坤身体状态为例(健康和骨折的阿坤):

1. 健康的阿坤:会唱、跳、rap。

2. 骨折的阿坤:唱、rap。

代码示例:

  1. 定义状态接口
    package com.demo.status;/*** 文件名:State* 创建者:* 创建时间:2024-09-08* 描述:定义状态接口*/
    public interface State {//定义行为方法void action();
    }
    
  2. 定义状态接口的实现类1(健康的阿坤)
    package com.demo.status;/*** 文件名:HealthState* 创建者:* 创建时间:2024-09-08* 描述:状态接口实现类* 健康状态下的行为:唱、跳、rap*/
    public class HealthState implements State{@Overridepublic void action() {System.out.println("实习一坤年的健康练习生会:唱、跳、rap");}
    }
    
  3. 定义状态接口的实现类2(骨折的阿坤)
    package com.demo.status;/*** 文件名:FractureState* 创建者:* 创建时间:2024-09-08* 描述:状态接口实现类* 骨折状态下的行为: 只能唱、rap*/
    public class FractureState implements State{@Overridepublic void action() {System.out.println("实习一坤年的骨折练习生只会:唱和rap");}
    }
    
  4. 定义环境类(也就是上下文类)
    package com.demo.status;/*** 文件名:Context* 创建者:* 创建时间:2024-09-08* 描述:环境类*/
    public class Context {//持有状态接口的引用private State state;public Context(State state) {this.state = state;}public void setState(State state) {this.state = state;}public void request() {state.action(); // 委托给当前状态处理请求}
    }
    
  5. 测试类
    package com.demo.status;/*** 文件名:Main* 创建者:* 创建时间:2024-09-08* 描述:测试类*/
    public class Main {public static void main(String[] args) {//创建实现类对象(健康的啊坤)HealthState healthState = new HealthState();//创建实现类对象(骨折的啊坤)FractureState fractureState = new FractureState();//通过给环境传入不同的对象,执行不同的方法(传入一个健康的阿坤)Context healthContext = new Context(healthState);healthContext.request();//通过给环境传入不同的对象,执行不同的方法(传入一个骨折的阿坤)Context fractureContext = new Context(fractureState);fractureContext.request();}
    }
    
  6. 测试结果

四. 优缺点

  • 优点:

封装性好:将状态转换逻辑封装在状态类中,减少了Context类的复杂性。
扩展性好:可以方便地添加新的状态类,满足开闭原则。
状态转换清晰:状态转换逻辑明确,易于理解和维护。

避免庞大的条件分支语句:避免了在上下文类中使用大量的条件分支语句来根据状态改变行为。

  • 缺点:

增加系统复杂性:随着状态的增多,类的数量也会增多,可能导致系统变得复杂。
可能增加系统开销:每个状态都是一个对象,可能会增加内存开销。

五. 常见应用场景

状态模式常用于处理对象多种状态转换的情况如:

  1. 订单状态管理:待支付、已支付、已发货、已完成等状态转换。
  2. 工作流引擎:任务的不同执行阶段(如待处理、处理中、已完成)。
  3. 网络连接状态:连接中、已连接、断开连接等。
  4. UI组件的交互状态:如按钮的可用/禁用状态。
http://www.shuangfujiaoyu.com/news/42602.html

相关文章:

  • 温州网站建设推广好看的友情链接代码
  • 成都创意设计公司苏州排名搜索优化
  • 长春网站建设加王道下拉谷歌广告怎么投放
  • 大同格泰网站建设商业推广
  • 做家居网站设计网络营销策略理论有哪些
  • 网站推广网络青岛网站制作
  • 常德网站建设哪家快抖音企业推广
  • 网站建设推介会发言稿朝阳seo
  • 网站空间要多大如何建立自己的网站
  • 宝安中心地铁站时间表怎么样建网站
  • 桂林网站建设 腾云关键词分析工具网站
  • 网站备案流程多少钱品牌互动营销案例
  • 万州建设工程信息官网seo的优化策略有哪些
  • 做网站服务销售湖南seo推广多少钱
  • 代理彩票网站做链接郑州搜索引擎优化公司
  • 馆陶网站建设公司seo培训网
  • bbs网站设计模板seo推广代理
  • 长春专业做网站全网营销一站式推广
  • 建设公司自己的网站贵州seo培训
  • 毕业设计用PHP做旅游网站汕头网站设计
  • 建设小说网站的系统有哪些营销策划方案案例范文
  • 泰安网站建设工作室百度指数在线查询工具
  • 做电商网站用什么技术淘宝优化标题都是用什么软件
  • 用java怎么做门户网站北京培训seo哪个好
  • 中国设计师个人网站南京百度网站推广
  • 怎么制作公众号动图seo专家招聘
  • sem推广培训百度seo发帖推广
  • 完整的网站后台权限编码知乎软文推广
  • 免费一级做网站搜索引擎下载入口
  • 网站开启伪静态成都今天重大新闻事件