青岛一品网站建设,大型的网页设计公司,网站登不上去的原因,vps 同时做ssh和做网站状态模式介绍状态模式是一种行为设计模式#xff0c;让你能在一个对象的内部状态变化时改变其行为#xff0c;使其看上去就像改变了自身所属的类一样。根据状态不同#xff0c;行为也不同状态模式描述的是一个行为下的多种状态变更#xff0c;比如我们最常见的一个网站的页… 状态模式介绍状态模式是一种行为设计模式让你能在一个对象的内部状态变化时改变其行为使其看上去就像改变了自身所属的类一样。根据状态不同行为也不同状态模式描述的是一个行为下的多种状态变更比如我们最常见的一个网站的页面在你登录与不登录时用户看到的页面是不同的而这种登录与不登录就是我们通过改变状态而让整个行为发生了变化。状态模式建议为对象的所有可能状态新建一个类然后将所有状态的对应行为抽取到这些类中。原始对象被称为上下文它并不会自行实现所有行为而是会保存一个指向表示当前状态对象的引用且将所有与状态相关的工作委派给该对象。状态模式结构1、上下文保存对于一个具体状态对象的引用并会将所有与该状态相关的工作委派给它。上下文通过状态接口与状态对象交互且会提供一个设置器用于传递新的状态对象。2、状态接口会声明特定于状态的方法这些方法应能被其他所有具体状态所理解因为你不希望某些状态所拥有的方法永远不会被调用。3、具体状态会自行实现特定于状态的方法。为了避免多个状态中包含相似代码你可以提供一个封装有部分通用行为的中间抽象类。4、业务逻辑上下文和具体状态都可以设置上下文的下个状态并可通过替代连接到上下文的状态对象来完成实际的状态转换。状态模式的应用场景对象需要根据自身当前状态进行不同行为同时状态的数量非常多且与状态相关的代码会频繁变更的话。某个类需要根据成员变量的当前值改变自身行为从而需要使用大量的条件语句时。当相似状态和基于条件的状态机转换中存在许多重复代码时可使用状态模式。实现方式确定那些类是上下文声明状态接口。为每个实际状态创建一个继承与状态接口的类然后检查上下文中的方法并将与特定状态相关的所有代码抽取到新建的类中。在上下文类中添加状态接口类型的引用成员变量。再次检查上下文中的方法将空的条件语句替换为响应的状态对象方法。传递上下文状态。满足单一职责原则和开闭原则。Demo该模式将与状态相关的行为抽取到独立的状态类中让原对象将工作委派给这些类的实例而不是自行进行处理。状态模式可通过受外部控制且能根据对象状态改变行为的方法来识别。抽象的状态类抽象的状态类实现抽象状态类抽象实现类上下文类客户端调用客户端代码输出结果对于状态模式来说还是得根据具体得业务场景去实现就是当某个状态改变时对应业务中有好多耦合得类也得对应做不同得变化时就可以使用状态模式。小寄语人生短暂我不想去追求自己看不见的我只想抓住我能看的见的。原创不易给个关注。我是阿辉感谢您的阅读如果对你有帮助麻烦点赞、转发 谢谢。- END -往期推荐设计模式总览设计模式之简单工厂设计模式之抽象工厂设计模式之建造者设计模式之原型设计模式之单例设计模式之适配器设计模式之桥接设计模式之组合设计模式之装饰器设计模式之外观设计模式之享元设计模式之代理设计模式之责任链设计模式之命令设计模式之迭代器设计模式之中介者设计模式之备忘录设计模式之观察者