wordpress全站ajax代码网站建设费用怎么算

bicheng/2026/1/26 9:21:27/文章来源:
wordpress全站ajax代码,网站建设费用怎么算,如何制作网页的软件,如何判断网站开发语言一、什么是状态模式 状态模式是一种行为型设计模式。它允许对象在内部状态发生改变时改变它的行为#xff0c;简单地讲就是#xff0c;一个拥有状态的context对象#xff0c;在不同状态下#xff0c;其行为会发生改变。 二、角色组成 上下文#xff08;Context#xff0…一、什么是状态模式 状态模式是一种行为型设计模式。它允许对象在内部状态发生改变时改变它的行为简单地讲就是一个拥有状态的context对象在不同状态下其行为会发生改变。 二、角色组成 上下文Context定义客户端需要的接口并且负责具体状态的切换。 抽象状态Abstract State抽象状态类是所有具体状态类的基类或接口。负责定义该状态下的行为可以一个或多个。 具体状态Concrete State具体状态类实现了抽象状态类定义的接口并根据当前状态决定上下文对象的行为。 三、 优缺点 优点 客户端只需要与上下文对象进行交互而不需要了解具体状态对象的切换和行为实现细节。 状态模式遵循开闭原则使系统更加可扩展。当需要增加新的状态时只需添加新的具体状态类而无需修改上下文对象或其他状态类。 避免了使用大量的条件语句来控制对象在不同状态下的行为。它将状态相关的代码分散到各个具体状态类中使代码更加清晰、可读性更高易于维护和扩展。 状态转换被封装在具体状态类中可根据需求定义不同的状态切换规则使得状态转换过程可控、灵活。 缺点 状态模式增加了系统中类的数量引入了更多的类可能会增加代码的复杂性。 对于简单、直接的状态机使用状态模式可能会显得过于繁琐增加了代码的冗余。在这种情况下可以采用简化的条件语句来处理状态转换。 四、应用场景 4.1 生活场景 自动售货机自动售货机中的商品状态会随着库存量的变化而改变。当库存为0时商品状态为售罄当库存充足时商品状态为可购买 购物车状态在线购物网站中购物车可以有不同的状态比如空、有商品、结算中等。每个状态下购物车的显示内容和可用操作不同。 4.2 java场景 Thread类线程有new、Runnable、Blocked、Waiting、Time_Waiting和Terminated状态。这些状态代表了线程在不同的执行阶段或操作中的不同状态。Thread类内部使用了状态模式来管理和切换线程的状态。 Connection接口Connection接口表示与数据库的连接它可能处于不同的状态比如打开、关闭、空闲、繁忙等。Connection接口在不同的状态下提供了不同的操作方法以便与数据库进行交互。 五、代码实现 下面以自动售卖机为例解释一下状态模式。我们可以将售卖机分为三个部分自动售卖机Machine类作为上下文Context状态State作为状态的抽象状态Abstract State售卖机的三个状态——未投币NoCoinState、已投币HasCoinState、出售中SlodState作为具体状态Concrete State 5.0 UML类图 5.1 State——抽象状态 /**** 1.抽象状态Abstract State状态接口* 定义定义该状态下的行为可以一个或多个。*/ public interface State {//投币void insertCoin();//选择商品void selectProduct();//发放商品void dispense(); }5.2 具体状态 /*** * 2.具体状态Concrete State:未投币状态* 定义实现了抽象状态类定义的接口并根据当前状态决定上下文对象的行为。*/ public class NoCoinState implements State{private Machine machine;public NoCoinState(Machine machine) {this.machine machine;}Overridepublic void insertCoin() {System.out.println(已投币);// 切换到已投币状态machine.setState(machine.getHasCoinState());}Overridepublic void selectProduct() {System.out.println(请先投币);}Overridepublic void dispense() {System.out.println(请先投币选择商品);} } /*** * 2.具体状态Concrete State:已投币状态* 定义实现了抽象状态类定义的接口并根据当前状态决定上下文对象的行为。*/ public class HasCoinState implements State{private Machine machine;public HasCoinState(Machine machine) {this.machine machine;}Overridepublic void insertCoin() {System.out.println(已投币请勿重复投币);}Overridepublic void selectProduct() {System.out.println(商品已选择);// 切换到出售状态machine.setState(machine.getSoldState());}Overridepublic void dispense() {System.out.println(请先选择商品);} } /**** 2.具体状态Concrete State:出售状态* 定义实现了抽象状态类定义的接口并根据当前状态决定上下文对象的行为。*/ public class SoldState implements State{private Machine machine;public SoldState(Machine machine) {this.machine machine;}Overridepublic void insertCoin() {System.out.println(正在出售商品请稍等);}Overridepublic void selectProduct() {System.out.println(正在出售商品请稍等);}Overridepublic void dispense() {System.out.println(商品已发放);//切换到未投币状态machine.setState(machine.getNoCoinState());} }5.3 Machine——上下文 /** * 3.上下文Context自动售卖机* 定义定义客户端需要的接口并且负责具体状态的切换。*/ public class Machine {//未投币状态private State noCoinState;//已投币状态private State hasCoinState;//出售状态private State soldState;//当前状态private State currentState;public Machine() {noCoinState new NoCoinState(this);hasCoinState new HasCoinState(this);soldState new SoldState(this);currentState noCoinState; // 初始状态为未投币状态}public void setState(State state) {currentState state;}public State getNoCoinState() {return noCoinState;}public State getHasCoinState() {return hasCoinState;}public State getSoldState() {return soldState;}public void insertCoin() {currentState.insertCoin();}public void selectProduct() {currentState.selectProduct();}public void dispense() {currentState.dispense();} }5.4 testState /**** 状态模式测试类*/ SpringBootTest public class TestState {Testvoid testState(){//创建上下文对象自动售卖机Machine machine new Machine();System.out.println(直接选择商品);machine.selectProduct();System.out.println(投币---选择商品---发放商品);machine.insertCoin();machine.selectProduct();machine.dispense();System.out.println(投币---发放商品);machine.insertCoin();machine.dispense();} }六、总结 熟悉策略模式的小伙伴可能会发现状态模式和策略模式的UML类图几乎一摸一样但这两中模式的应用场景是不一样的。策略模式的多种算法行为选择一种就能满足彼此之间是独立的而状态模式中各个状态间存在相互关系彼此之间在一定条件下存在自动切换状态的效果并且用户不能指定状态只能设置初始状态。 以下情况出现可以考虑状态模式 当一个对象的行为取决于其内部状态并且在不同状态下具有不同的行为时 当对象的行为在运行时需要根据其状态动态改变并且需要避免大量的条件语句和分支判断时。 当代码中存在大量的条件语句和分支逻辑并且这些逻辑与对象的状态变化相关时。 当对象的状态之间存在复杂的转换关系并且需要维护状态转换的一致性时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设 设计教育类型网站

一文了解堆在前端中的应用⚡序言🦘一、堆是什么?🐥二、JS中的堆🐝三、堆的应用🐈四、构建一个最小堆1. 定义2. 方法3. 用js代码实现最小堆(1)初始化一个堆(2)交换位置swa…

长沙有哪些网站建设公司邯郸有什么互联网大公司吗

1 创建文件夹,并创建 index.js 在文件中声明函数,使用module.exports 导出 2 npm 初始化工具包,package.json 填写包的信息(包的名字是唯一的) npm init 可在这里写包的名字,或者一路按回车,后…

中小企业网站用什么技术aso优化推广

最近接触到了五花八门的文件系统、存储类型,名词听得头大,趁假期整理学习一番~ 名称OSSFastDFSJuiceFSCIFSCephFSEFSNFS全称Object Storage Service (对象存储服务)Fast Distributed File System (快速分布式文件系统)Juice File System (Juice 文件系统…

网站开发技术文章秒应小程序怎么创建

看到这个报错头都大了 一开始在网上各种搜搜,然后有人说是flutter版本的问题,改完版本之后还是不对,又是各种搜搜搜 有人说是环境变量的问题,后来改了环境变量,妈的,竟然还不行,想砸电脑的心都…

页面设计比例aso优化{ }贴吧

(2017-05-18 银河统计)决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干&#xff0c…

光泽网站建设wzjseo江阴做网站的公司

【hashmap】【将排序之后的字符串作为哈希表的键】【获取 HashMap 中所有值的集合】Leetcode 49 字母异位词分组 解法1 将排序之后的字符串作为哈希表的键解法2 在解法一的基础上加入了getOrDefault ---------------🎈🎈题目链接🎈&#x1f3…

天津网站建设兼职大连哪家装修公司最好

const int *p &a;//定义常量指针,值不可改 int * const p &a;//定义指针常量,指向的值可改,指向不可改 const为静态常量的意思,不可修改。从左到右,常量const先出现,指针符号*后出…

网站服务器速度对seo有什么影响?福州建网站的公司

同名读书笔记,对于一些自觉重要的点进行记录。 扩展资源:github.com/evancyz/ddd-learning UML中类图的一些基本知识 - jack_Meng - 博客园 最后的第四部分暂时没看 Part Two 模型驱动设计的构造块 Chapter 5 软件中所表示的模型 5.2 模式:…

长葛网站建设深圳个人形象设计工作室

支持单个文件的封装、整个工程的封装,这里用单个文件举例。 在文件工程目录下,自建一个文件夹,里面放上需要封装的verilog文件。 选择第三个,指定路径封装,找到文件所在目录 取个名,选择封装IP的路径 会…

广州网站设计易企建站成品网站源码在线观看

文章目录 线程线程互斥锁死锁 线程同步生产者消费者模型POSIX信号量基于环形队列的生产消费模型 线程池 线程 线程是进程内部可以独立运行的最小单位 进程是资源分配的基本单位,线程是调度器调度的基本单位 线程在进程的地址空间内运行 进程内的大部分资源线程是…

江苏网站建设 seowordpress博客建站

在C#中使用NPOI库读取和写入Excel文件,你需要先下载并安装NPOI库。你可以在NuGet管理器中搜索NPOI并进行安装。 以下是一个使用NPOI库进行Excel文件读取和写入的示例: 读取Excel文件: using NPOI.SS.UserModel; using NPOI.XSSF.UserModel…

网站宣传图十大暗网搜索引擎

Open Group于1997年10月发布,UUID遵从此协议。UUID被设计成一个在空间和时间上的唯一值。两次调用的UUID将产生两个不同的值,即使这些调用是在两个不连接的,彼此独立的计算机。由一串数字表示aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeformat:mys…

北辰苏州网站建设湖北省住房和城乡建设网站

文章目录 GUI 查看命令获取命令 free命令 vmstat命令 top命令 htop Linux 查看内存使用情况的几种方法包括使用 free 命令、top 命令、htop 命令、vmstat 命令和/proc/meminfo 文件。这些方法可以帮助用户了解系统内存的使用情况,包括总内存、已用内存、空闲内存、缓…

临沂做网站推广的公司设备报价单模板

Ubuntu共享文件到win 1、安装samba sudo apt-get install samba samba-common2、创建一个共享文件夹,并设置777权限 mkdir /home/qyh/share sudo chmod 777 /home/qyh/share我的用户名:qyh。 3、添加用户及密码 sudo smbpasswd -a qyh4、修改配置文…

青岛主流网站做网站的分析报告案例

​​​​​​​目录 1.引言 2. 机器学习基本概念与分类方法 2.1. 基本概念 1.2. 分类方法 3.主要应用场景与现实案例剖析 3.1. 推荐系统 3.2. 金融风控 3.3. 医学诊断 3.4. 自然语言处理 4.结束语 1.引言 在数字化时代,数据已成为驱动社会进步的关键要素。…

做网站建设需要什么资质湖南人文科技学院全国排名

一、插入排序 1.基本原理 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上…

旅游网站品牌建设用什么工具做网站视图

1. CPM(Cost per mille),每千次展现收费 这是一种最为常见的广告模式,也是很多网站流量变现的一种途径,这种广告不管计算点击,或者什么注册下载之类的转化,只要这个广告在网站上被正常的展现给…

南昌seo网站建设营销型网站建站系统

温馨提醒:本文主要分为5个部分,总计4842字,需要时间较长,建议先收藏! P2P DMA简介 P2P DMA软硬件支持 CXL P2P DMA原理差异 P2P DMA应用场景 P2P DMA技术挑战 一、P2P DMA简介 P2P DMA(Peer-to-Peer…

本地服务器域名解析网站建设太原seo优化

python -m pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pypi | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

做物流哪个网站推广效果好管局审核一定要能打开网站

使用Spacy python库做中文词性和词频分析,读取word并给出其中每个词的词频和词性,写入excel表。 1、为什么选择Spacy库 相比与NLTK这个库更快和更准 2、模型比较 zh_core_web_trf模型,模型大,准确性高。 需要确保你的Spacy版本是…