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

iis 7.0 网站配置wordpress前台注册

iis 7.0 网站配置,wordpress前台注册,wordpress自动加标签,商务网站建设实训结论3#xff09;共享状态 1.概述 在某些情况下#xff0c;多个环境对象可能需要共享同一个状态#xff0c;如果希望在系统中实现多个环境对象共享一个或多个状态对象#xff0c;那么需要将这些状态对象定义为环境类的静态成员对象。 2.案例 背景#xff1a;要求两个开关对…3共享状态 1.概述 在某些情况下多个环境对象可能需要共享同一个状态如果希望在系统中实现多个环境对象共享一个或多个状态对象那么需要将这些状态对象定义为环境类的静态成员对象。 2.案例 背景要求两个开关对象要么都处于开的状态要么都处于关的状态在使用时它们的状态必须保持一致开关可以由开转换到关也可以由关转换到开。 3.结构图 4.代码实现 开关类Switch public class Switch {//定义三个静态的状态对象private static State state,onState,offState; private String name;public Switch(String name) {this.name name;onState new OnState();offState new OffState();this.state onState;}public void setState(State state) {this.state state;}public static State getState(String type) {if (type.equalsIgnoreCase(on)) {return onState;}else {return offState;}}//打开开关public void on() {System.out.print(name);state.on(this);}//关闭开关public void off() {System.out.print(name);state.off(this);} }抽象状态类 abstract class State {public abstract void on(Switch s);public abstract void off(Switch s); }具体状态类 //打开状态 public class OnState extends State {public void on(Switch s) {System.out.println(已经打开);}public void off(Switch s) {System.out.println(关闭);s.setState(Switch.getState(off));} }//关闭状态 public class OffState extends State {public void on(Switch s) {System.out.println(打开);s.setState(Switch.getState(on));}public void off(Switch s) {System.out.println(已经关闭);} }客户端类 public class Client {public static void main(String[] args) {// 开关1 和 开关2 共享了开、关的状态Switch s1,s2;s1new Switch(开关1);s2new Switch(开关2);s1.on();s2.on();s1.off();s2.off();s2.on();s1.on(); } }4使用环境类实现状态转换 1.概述 由环境类Context作为一个状态管理器实现状态之间的转换。 2.优点 对于客户端来说无须关心状态类可以为环境类设置默认的状态类而将状态的转换工作交给具体状态类或环境类来完成具体的转换细节对于客户端而言是透明的。 3.缺点 增加新的具体状态类可能需要修改其他具体状态类或者环境类的源代码否则系统无法转换到新增状态。 4.结构图 5.代码实现 //屏幕类 public class Screen {//枚举所有的状态currentState表示当前状态private State currentState, normalState, largerState, largestState;public Screen() {this.normalState new NormalState(); //创建正常状态对象this.largerState new LargerState(); //创建二倍放大状态对象this.largestState new LargestState(); //创建四倍放大状态对象this.currentState normalState; //设置初始状态this.currentState.display();}public void setState(State state) {this.currentState state;}//单击事件处理方法封转了对状态类中业务方法的调用和状态的转换public void onClick() {if (this.currentState normalState) {this.setState(largerState);this.currentState.display();}else if (this.currentState largerState) {this.setState(largestState);this.currentState.display();}else if (this.currentState largestState) {this.setState(normalState);this.currentState.display();}} }//抽象状态类 abstract class State {public abstract void display(); }//正常状态类 public class NormalState extends State{public void display() {System.out.println(正常大小);} }//二倍状态类 public class LargerState extends State{public void display() {System.out.println(二倍大小);} }//四倍状态类 public class LargestState extends State{public void display() {System.out.println(四倍大小);} }客户端类 public class Client {public static void main(String[] args) {Screen screen new Screen();screen.onClick();screen.onClick();screen.onClick();} }注意 所有的状态转换操作都由环境类Screen实现此时环境类充当了状态管理器角色。 如果需要增加新的状态例如“八倍状态类”需要修改环境类这在一定程度上违背了“开闭原则”但对其他状态类没有任何影响。 5总结 1.优点 封装了状态的转换规则在状态模式中可以将状态的转换代码封装在环境类或者具体状态类中可以对状态转换代码进行集中管理而不是分散在一个个业务方法中。 将所有与某个状态有关的行为放到一个类中只需要注入一个不同的状态对象即可使环境对象拥有不同的行为。 允许状态转换逻辑与状态对象合成一体而不是提供一个巨大的条件语句块状态模式可以避免使用庞大的条件语句来将业务方法和状态转换代码交织在一起。 可以让多个环境对象共享一个状态对象从而减少系统中对象的个数。 2.缺点 状态模式的使用必然会增加系统中类和对象的个数导致系统运行开销增大。 状态模式的结构与实现都较为复杂如果使用不当将导致程序结构和代码的混乱增加系统设计的难度。 状态模式对“开闭原则”的支持并不好增加新的状态类需要修改那些负责状态转换的源代码否则无法转换到新增状态而且修改某个状态类的行为也需修改对应类的源代码。 3.适用场景 对象的行为依赖于它的状态如某些属性值状态的改变将导致行为的变化。 在代码中包含大量与对象状态有关的条件语句这些条件语句的出现会导致代码的可维护性和灵活性变差不能方便地增加和删除状态并且导致客户类与类库之间的耦合增强。
http://www.zqtcl.cn/news/679629/

相关文章:

  • 十堰外贸网站建设松滋做网站
  • 网站导航条青浦徐泾网站建设
  • 厦门网站建设一般多少钱店铺域名是什么意思
  • 网站关键词搜索排名怎么做雅奇小蘑菇做网站好不好用
  • 手机网站案例建设网站地图素材
  • 企业网站制作比较好的如何设计一个网页首页代码
  • 维护网站成本网站建设进度图
  • asp.net做织梦网站设计手机网站建设
  • 江苏省住房和城乡建设局网站首页北京大型网站制作公司
  • 网站改版工作方案网站设计技能培训
  • 佳木斯市网站建设淄博网站开发招聘
  • 学习软件的网站先备案先建网站
  • 建立网站 知乎常州网站制作机构
  • 洛阳建设网站上海高端室内设计事务所
  • 做高清图的网站wordpress分类自定义文字
  • 创建站点如何做网站如何利用分类信息网站做推广
  • wordpress 拍卖插件找文网优化的技术团队
  • 建站素材网自助餐火锅网站建设
  • 企业型网站建设方案农村电商网站设计与发展现状
  • 建站快车凡科企业网站建设合同(一)
  • 阜平网站建设在广州做seo找哪家公司
  • 怎么做农家乐联盟网站六安建设机械网站
  • 网站开发行业标准江苏网站开发公司
  • 服装技术支持东莞网站建设如何加强企业网站建设论文
  • 中英双语网站怎么做深圳勘察设计协会
  • 用dw做网站维护教程梧州网站建设制作
  • 网站代运营公司有哪些深圳小区封闭最新通知
  • 江西网站设计服务网站开发所需费用明细
  • 深圳网站建设公司jm3q编程网站免费中文版
  • 泉州专门制作网站如何在小红书上做推广