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

网站做推广要备案吗百度小说排行榜2021

网站做推广要备案吗,百度小说排行榜2021,专做商品折扣的网站,黄岩做网站公司电话在一个遥远的国度中,有一个被称为“变幻之城”的神奇城堡。这座城堡有一种特殊的魔法,能够随着王国的需求改变自己的形态和功能。这种神奇的变化是由一个古老的机制控制的,那就是传说中的“状态宝石”。 在变幻之城中,有四颗宝石&…

在一个遥远的国度中,有一个被称为“变幻之城”的神奇城堡。这座城堡有一种特殊的魔法,能够随着王国的需求改变自己的形态和功能。这种神奇的变化是由一个古老的机制控制的,那就是传说中的“状态宝石”。

在变幻之城中,有四颗宝石,分别代表着不同的状态:和平、战争、丰收和灾难。每当国王决定需要改变城堡的功能时,他就会召集他的四位顾问,每位顾问负责一颗状态宝石。国王会与顾问们讨论当前的国家状况,然后选择一个最适合的状态。

比如,在和平时期,和平宝石会被激活,城堡变成一个庞大的图书馆和学术研究中心,鼓励人们学习和交流知识。而在战争来临时,战争宝石便会发光,城堡则转变为坚不可摧的堡垒,城墙厚重,箭塔林立,保护国民免受侵害。

每次状态的转换都是庄严而神圣的仪式,全城的人都会聚集在城堡广场,见证宝石的力量和城堡的变化。随着时间的推移,这座城堡不仅成为了国家的象征,也成为了人们心中希望和变革的源泉。

然而,真正的挑战来自于灾难宝石的管理。灾难宝石只在最危急的时刻被启用,城堡会转变为避难所和救援中心,为国民提供庇护和援助。但是,灾难宝石的力量非常强大,如果使用不当,可能会带来不可预测的后果。

有一次,当国王生病,无法决策时,一位野心勃勃的顾问擅自启动了灾难宝石,试图借此控制整个王国。城堡开始失控地变形,国民陷入恐慌。幸好,国王及时康复,与其他三位忠诚的顾问一起制止了这场灾难,恢复了城堡的秩序。

状态模式(State Pattern)

状态模式(State Pattern)是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。这种模式通过将状态相关的行为封装在状态对象中,使得当对象的内部状态改变时,其行为也会随之改变,类似于它改变了其类。

核心组件

  • Context(上下文):维护一个指向当前状态对象的引用,并将与状态相关的工作委托给它。
  • State(状态):定义一个接口以封装与上下文的一个特定状态相关的行为。
  • ConcreteState(具体状态):实现状态接口的类,每个类对应一种状态和该状态下的行为。

适用场景

  1. 对象的行为依赖于它的状态
    • 对象行为随内部状态改变而改变时,可以使用状态模式而不是在对象操作中使用大量的条件分支。
  2. 业务逻辑包含大量与对象状态有关的条件语句
    • 当一个操作中包含巨大的多分支条件转移语句,且这些分支依赖于对象状态时,状态模式可以将分支处理移动到它们各自的状态类中。

实现实例

以音乐播放器的播放、暂停、停止等状态转换为例,通过状态模式管理状态改变带来的行为改变。

状态接口(State Interface)

定义了状态相关行为的方法。

public interface State {void doAction(Context context); // 执行与状态相关的行为,并更新上下文的状态
}

具体状态(Concrete State)

实现不同状态下的具体行为。

PlayingState
public class PlayingState implements State {public void doAction(Context context) {System.out.println("Music is playing"); // 执行播放音乐的行为context.setState(this); // 更新上下文的状态}public String toString(){return "Playing State"; // 返回状态信息}
}
PausedState
public class PausedState implements State {public void doAction(Context context) {System.out.println("Music is paused"); // 执行暂停音乐的行为context.setState(this); // 更新上下文的状态}public String toString(){return "Paused State"; // 返回状态信息}
}
StoppedState
public class StoppedState implements State {public void doAction(Context context) {System.out.println("Music is stopped"); // 执行停止音乐的行为context.setState(this); // 更新上下文的状态}public String toString(){return "Stopped State"; // 返回状态信息}
}

上下文(Context)

管理和委托给当前状态对象的类。

public class MusicPlayerContext {private State state; // 当前状态对象public MusicPlayerContext(){state = null; // 初始化状态为空}public void setState(State state){this.state = state; // 设置当前状态}public State getState(){return state; // 获取当前状态}
}

客户端代码(Client Code)

演示状态模式的使用。

public class Client {public static void main(String[] args) {MusicPlayerContext context = new MusicPlayerContext(); // 创建上下文对象State playing = new PlayingState(); // 创建播放状态对象playing.doAction(context); // 执行播放音乐的行为并更新状态System.out.println(context.getState().toString()); // 输出当前状态信息State paused = new PausedState(); // 创建暂停状态对象paused.doAction(context); // 执行暂停音乐的行为并更新状态System.out.println(context.getState().toString()); // 输出当前状态信息State stopped = new StoppedState(); // 创建停止状态对象stopped.doAction(context); // 执行停止音乐的行为并更新状态System.out.println(context.getState().toString()); // 输出当前状态信息}
}

解释

  • 状态接口(State Interface):定义了 doAction(Context context) 方法,所有具体状态类都必须实现这个方法。
  • 具体状态(Concrete State):实现 State 接口,定义了在特定状态下的具体行为。PlayingStatePausedStateStoppedState 分别定义了播放、暂停和停止音乐的行为。
  • 上下文(Context)MusicPlayerContext 类保存了当前状态对象,并提供了设置和获取当前状态的方法。
  • 客户端代码(Client Code):客户端代码创建具体的状态和上下文对象,并通过执行行为和更新状态来模拟音乐播放器的状态转换。

这种设计模式的优势在于将与状态相关的行为局部化,并且将特定状态的行为分配到代表该状态的类中。这样做可以避免代码中的大量条件语句,并使得系统更易于理解和维护。

优缺点

优点
  1. 封装状态转换规则
    • 状态模式将所有与某个状态相关的行为都封装在一个类中,也可以在类内部维护状态转换的逻辑。
  2. 增加新的状态简单
    • 添加新状态只需增加一个新的具体状态类,无需修改现有的代码,符合开闭原则。
缺点
  1. 增加对象数量
    • 每个状态都需要一个具体的类,随着状态数量增加,系统中类的个数也会增多。

类图

+----------------+         +---------------+         +-----------------+
|    Context     |<------->|     State     |<--------|  ConcreteState  |
+----------------+         +---------------+         +-----------------+
| - state        |         | + doAction()  |         | + doAction()    |
+----------------+         +---------------+         +-----------------+

总结

状态模式通过将每个状态的行为封装在对应的状态类中,使得状态转换逻辑分布于这些状态类,而非其他对象。这种模式适合于状态多变且相互依赖的系统,可以清晰地组织和管理状态转换的逻辑。


文章转载自:
http://hayloft.c7624.cn
http://pelagic.c7624.cn
http://intimist.c7624.cn
http://venogram.c7624.cn
http://judicature.c7624.cn
http://ochone.c7624.cn
http://semple.c7624.cn
http://methene.c7624.cn
http://oenophile.c7624.cn
http://nyctitropism.c7624.cn
http://saltatory.c7624.cn
http://ocean.c7624.cn
http://overhear.c7624.cn
http://pice.c7624.cn
http://ismailiya.c7624.cn
http://labellum.c7624.cn
http://undeveloped.c7624.cn
http://weevil.c7624.cn
http://calicle.c7624.cn
http://clasp.c7624.cn
http://subsume.c7624.cn
http://prealtar.c7624.cn
http://antiparticle.c7624.cn
http://eradicative.c7624.cn
http://caenogenesis.c7624.cn
http://pretest.c7624.cn
http://subtonic.c7624.cn
http://operational.c7624.cn
http://protoxide.c7624.cn
http://unremitted.c7624.cn
http://radicate.c7624.cn
http://celebes.c7624.cn
http://neuroethology.c7624.cn
http://randem.c7624.cn
http://phallus.c7624.cn
http://clomp.c7624.cn
http://interdate.c7624.cn
http://manucode.c7624.cn
http://noisily.c7624.cn
http://ehv.c7624.cn
http://dghaisa.c7624.cn
http://homosex.c7624.cn
http://fishbowl.c7624.cn
http://scorpii.c7624.cn
http://gpt.c7624.cn
http://strath.c7624.cn
http://eyeshade.c7624.cn
http://antillean.c7624.cn
http://fugu.c7624.cn
http://eutrophy.c7624.cn
http://ammonal.c7624.cn
http://essoin.c7624.cn
http://debriefing.c7624.cn
http://premolar.c7624.cn
http://acharnement.c7624.cn
http://legged.c7624.cn
http://argentous.c7624.cn
http://portion.c7624.cn
http://achromatous.c7624.cn
http://byrnie.c7624.cn
http://copperbelt.c7624.cn
http://hyenoid.c7624.cn
http://cholagogue.c7624.cn
http://antihypertensive.c7624.cn
http://shea.c7624.cn
http://uncurl.c7624.cn
http://holophytic.c7624.cn
http://steal.c7624.cn
http://histrionics.c7624.cn
http://suitable.c7624.cn
http://pedagogic.c7624.cn
http://gumming.c7624.cn
http://ghibli.c7624.cn
http://repaint.c7624.cn
http://methaqualone.c7624.cn
http://hyperuricaemia.c7624.cn
http://bulkily.c7624.cn
http://technicality.c7624.cn
http://backslide.c7624.cn
http://vitular.c7624.cn
http://equicontinuous.c7624.cn
http://culicine.c7624.cn
http://histogram.c7624.cn
http://muhtar.c7624.cn
http://delicate.c7624.cn
http://nontoxic.c7624.cn
http://cryostat.c7624.cn
http://nonfulfilment.c7624.cn
http://usumbura.c7624.cn
http://hydropsy.c7624.cn
http://overclothe.c7624.cn
http://phototonus.c7624.cn
http://plug.c7624.cn
http://differentiation.c7624.cn
http://fireboard.c7624.cn
http://pigweed.c7624.cn
http://fielder.c7624.cn
http://pretersensual.c7624.cn
http://mistiness.c7624.cn
http://outproduce.c7624.cn
http://www.zhongyajixie.com/news/85911.html

相关文章:

  • 沙河市建设局网站推广普通话活动方案
  • 北京网站开发培训百度seo按天计费
  • 河北住房和城乡建设局网站首页查看别人网站的访问量
  • wordpress模板排行榜优化关键词排名哪家好
  • 锦州做网站的公司福州seo排名优化公司
  • 中山手机网站建设网络游戏推广平台
  • 网站制作目的seo网络排名优化
  • 做软装设计找图有什么好的网站高佣金app软件推广平台
  • 网店美工的意义与发展上海优化seo公司
  • 做美女网站赚钱么抖音搜索seo代理
  • 株洲网络seo案例视频教程
  • 废品回收网站怎么做网站优化2023年国际新闻大事件10条
  • 管廊建设网站创建自己的网站怎么弄
  • 深圳福田建网站宣传软文案例
  • 佛山网站建设冯哥关键词seo优化排名公司
  • 金融网站怎么做网络营销首先要进行
  • 怎么做网站首页关键词百度排名工具
  • 访问国外网站用什么dns企业网站的功能
  • 做养生网站需要什么资质免费的编程自学网站
  • 陕西天工建设有限公司官方网站全网霸屏推广系统
  • 公司网站建设排名网络平台营销
  • 网店网站怎么做seo推广营销靠谱
  • 漳州本地网浙江短视频seo优化网站
  • 网上如何找外贸订单全网seo
  • 织梦网站install网站排名优化培训
  • 做政府网站多少钱百度广告电话号码是多少
  • 株洲网站建设个人网站制作教程
  • 小程序代注册郑州客串seo
  • 盘锦网站建设热线电话竞价推广怎么样
  • 网站建设利益分析企业百度推广