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

有哪些可以做兼职的翻译网站吗个人网站主页怎么做

有哪些可以做兼职的翻译网站吗,个人网站主页怎么做,网站前端,创胜网络科技有限公司状态模式 状态模式定义:使用场景角色定义1. State一抽象状态角色2. ConcreteState一-具体状态角色3. Context--环境角色 需求背景1. 订单状态抽象类2. 定义订单具体状态类并集成基类#xff08;抽象类#xff09;2.1 订单创建状态2.2 订单已支付状态2.3 订单已发货状态2.4 订… 状态模式 状态模式定义:使用场景角色定义1. State一抽象状态角色2. ConcreteState一-具体状态角色3. Context--环境角色 需求背景1. 订单状态抽象类2. 定义订单具体状态类并集成基类抽象类2.1 订单创建状态2.2 订单已支付状态2.3 订单已发货状态2.4 订单已签收状态2.5 订单已确认收货状态2.6 订单已取消状态 3. 订单上下文类4. 测试案例5. 案例说明5.1 在测试案例中我们首先创建了一个OrderContext对象并在其上调用pay()方法此时订单状态从CreatedState转换为PaidState。5.2 接着依次调用了ship()、deliver()和receive()方法订单状态分别从PaidState转换为ShippedState、ShippedState转换为DeliveredState、DeliveredState转换为ReceivedState。5.3 然后尝试再次调用receive()、ship()、pay()和deliver()方法此时订单状态已经处于ReceivedState不能再进行状态转换了。5.4 最后调用了cancel()方法此时订单状态由ReceivedState转换为CancelledState。 状态模式定义: 当一个对象内在状态改变时允许其改变行为这个对象看起来像改变了其类 使用场景 使用场景 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。 角色定义 1. State一抽象状态角色 接口或抽象类负责对象状态定义并且封装环境角色以实现状态切换 2. ConcreteState一-具体状态角色 每一个具体状态必须完成两个职责: 本状态的行为管理以及趋向状态处理通俗地说就是本状态下要做的事情以及本状态如何过渡到其他状态。 3. Context–环境角色 定义客户端需要的接口并且负责具体状态的切换 需求背景 针对用户购买的商品完成订单不同状态之间的流未支付、已支付、已发货、已签收、已确认等。 下面是一个简单的Java示例代码 1. 订单状态抽象类 // 订单状态抽象类 abstract class OrderState {protected OrderContext context;public void setContext(OrderContext context) {this.context context;}public abstract void pay();public abstract void cancel();public abstract void ship();public abstract void deliver();public abstract void receive(); }2. 定义订单具体状态类并集成基类抽象类 2.1 订单创建状态 // 订单创建状态 class CreatedState extends OrderState {Overridepublic void pay() {System.out.println(订单已支付);context.setState(new PaidState());}Overridepublic void cancel() {System.out.println(订单已取消);context.setState(new CancelledState());}Overridepublic void ship() {System.out.println(订单尚未支付不能发货);}Overridepublic void deliver() {System.out.println(订单尚未支付不能发货);}Overridepublic void receive() {System.out.println(订单尚未支付不能确认收货);} }2.2 订单已支付状态 // 订单已支付状态 class PaidState extends OrderState {Overridepublic void pay() {System.out.println(订单已支付无需再次支付);}Overridepublic void cancel() {System.out.println(订单已取消);context.setState(new CancelledState());}Overridepublic void ship() {System.out.println(订单已发货);context.setState(new ShippedState());}Overridepublic void deliver() {System.out.println(订单尚未发货不能确认收货);}Overridepublic void receive() {System.out.println(订单尚未发货不能确认收货);} }2.3 订单已发货状态 // 订单已发货状态 class ShippedState extends OrderState {Overridepublic void pay() {System.out.println(订单已支付无需再次支付);}Overridepublic void cancel() {System.out.println(订单已发货不能取消);}Overridepublic void ship() {System.out.println(订单已发货无需再次发货);}Overridepublic void deliver() {System.out.println(订单已签收);context.setState(new DeliveredState());}Overridepublic void receive() {System.out.println(订单尚未签收不能确认收货);} }2.4 订单已签收状态 // 订单已签收状态 class DeliveredState extends OrderState {Overridepublic void pay() {System.out.println(订单已支付无需再次支付);}Overridepublic void cancel() {System.out.println(订单已签收不能取消);}Overridepublic void ship() {System.out.println(订单已签收不能再次发货);}Overridepublic void deliver() {System.out.println(订单已签收不能再次确认收货);}Overridepublic void receive() {System.out.println(订单已确认收货);context.setState(new ReceivedState());} }2.5 订单已确认收货状态 // 订单已确认收货状态 class ReceivedState extends OrderState {Overridepublic void pay() {System.out.println(订单已支付无需再次支付);}Overridepublic void cancel() {System.out.println(订单已确认收货不能取消);}Overridepublic void ship() {System.out.println(订单已确认收货不能再次发货);}Overridepublic void deliver() {System.out.println(订单已确认收货不能再次确认收货);}Overridepublic void receive() {System.out.println(订单已确认收货无需再次确认);} }2.6 订单已取消状态 //订单已取消 public class CancelledState extends OrderState {Overridepublic void pay() {System.out.println(订单已取消);}Overridepublic void cancel() {System.out.println(订单已取消);}Overridepublic void ship() {System.out.println(订单已取消);}Overridepublic void deliver() {System.out.println(订单已取消);}Overridepublic void receive() {System.out.println(订单已取消);} }3. 订单上下文类 // 订单上下文类 class OrderContext {private OrderState state;public OrderContext() {setState(new CreatedState());}public void setState(OrderState state) {this.state state;this.state.setContext(this);}public void pay() {state.pay();}public void cancel() {state.cancel();}public void ship() {state.ship();}public void deliver() {state.deliver();}public void receive() {state.receive();} }4. 测试案例 // 测试案例 public class StateTest {public static void main(String[] args) {OrderContext order new OrderContext();order.pay(); // 订单已支付order.ship(); // 订单已发货order.deliver(); // 订单已签收order.receive(); // 订单已确认收货order.receive(); // 订单已确认收货无需再次确认order.ship(); // 订单已确认收货不能再次发货order.pay(); // 订单已确认收货无需再次支付order.deliver(); // 订单已确认收货不能再次确认收货order.cancel(); // 订单已确认收货不能取消} }5. 案例说明 5.1 在测试案例中我们首先创建了一个OrderContext对象并在其上调用pay()方法此时订单状态从CreatedState转换为PaidState。 5.2 接着依次调用了ship()、deliver()和receive()方法订单状态分别从PaidState转换为ShippedState、ShippedState转换为DeliveredState、DeliveredState转换为ReceivedState。 5.3 然后尝试再次调用receive()、ship()、pay()和deliver()方法此时订单状态已经处于ReceivedState不能再进行状态转换了。 5.4 最后调用了cancel()方法此时订单状态由ReceivedState转换为CancelledState。
http://www.w-s-a.com/news/76920/

相关文章:

  • 网站服务理念中外商贸网站建设
  • 如何自己建立网站中国建设银行网站忘记密码
  • 什么是a站如何在12366网站上做实名认证
  • 斗蟋蟀网站建设谭谭心怎么建设网站
  • 优秀网站开发商郑州网站建设套餐
  • 做伤残鉴约号网站购物网站建设新闻
  • 黄江网站建设公司自己房子做民宿挂什么网站
  • 手游网站做cpc还是cpm广告号宣武郑州阳网站建设
  • vs连接数据库做网站建立网站
  • 电商网站设计图片素材p2p网站建设石家庄
  • 莲塘网站建设如何文字推广一个婚恋网站
  • 医院网站建设工作汇报WordPress不发邮件了
  • 怎么做外语网站个人网页设计作品ps
  • 网站原型怎么做vps如何建两个网站
  • 商城网站建设源码嘉兴seo计费管理
  • 城乡建设网站证件查询系统wordpress 时间代码
  • php网站建设 关键技术做网站哪家正规
  • 网站开发用什么写得比较好谷歌的英文网站
  • 青岛网站建设公司在哪vivo手机商城
  • 兼职刷客在哪个网站做哪个网站做淘宝客
  • 眼科医院网站开发网络营销特点是什么
  • 提交网站给百度增加wordpress插件
  • 网站建设企业官网体验版是什么Wordpress哪个模板最快
  • 美丽说网站模板湖北可以做网站方案的公司
  • 北京西站进站最新规定建设网站的提成是多少
  • wordpress站点如何加速网站建设描述怎么写
  • 如何免费建造网站免费vi模板网站
  • 商丘做网站多少钱扬州大发网站建设
  • 网站建设哪家性价比高自己做项目的网站
  • 成立一个网站济宁营销型网站建设