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

湛江廉江网站建设WordPress留言表单仿制

湛江廉江网站建设,WordPress留言表单仿制,洛阳做家教去什么网站,做网站郑州公司文章目录 1.梦开始的地方2.代码1.0版本3.代码2.0版本4.代码3.0版本5.梦结束的地方 最近在学习这个专业课里面的体系结构这门课程,作为专业里面的一门基础课,这个课程里面主要讲解的就是软件的设计思想,一些历程之类的,包括了面向对…

文章目录

  • 1.梦开始的地方
  • 2.代码1.0版本
  • 3.代码2.0版本
  • 4.代码3.0版本
  • 5.梦结束的地方

最近在学习这个专业课里面的体系结构这门课程,作为专业里面的一门基础课,这个课程里面主要讲解的就是软件的设计思想,一些历程之类的,包括了面向对象的设计方法和面向数据流的设计方法;

但是我认为更加重要的就是这个设计原则和23种常见的设计模式,设计模式不仅仅是我们考试的重点,更是我们面试的时候的考察的重点,学校老师对于这个里面的一些内容讲得效果不是很好,主要原因就是他没有读过非常著名的一本书:大话设计模式,这本书是设计模式里面的一本非常经典的这个书籍,我觉得看这本书自学的效果也比听老师讲解的这个效果很好(我们自己学校)并不是说老师讲的不好,但是听老师讲完之后感觉跟没学一样,有些老师讲课还是非常认真的;

今天我们来学习一下这个状态模式,参考的就是《大话设计模式》推荐大家去阅读以下,我这里写一下自己的思考和想法吧,主要就是按照这本书里面的第16章的思路进行书写的;

1.梦开始的地方

状态模式,看着这个名字就知道这个设计模式需要我们去处理的问题就是针对于不同的状态去进行管理,在这本书里面使用加班的问题进行相关的说明,整体的逻辑和思路非常的流畅,通过不同版本的代码修改前后的变化帮助我们的读者去进行学习这个设计模式对应的思想和具体的适用场景;

image-20250508162612650

加班问题,主要就是针对于不同的时刻,对应着不同的状态,发生了不同的事情和问题,我们根据用户输入的不同的时刻的信息,去进行相关的内容的输出;

2.代码1.0版本

下面的这个方法就是我们的主函数里面需要调用的这个方法,writeprogram方法们主要就是针对于时间的不同区体现出来不同的工作的状态;

下面的这个代码里面的最后一个else里面又被划分为不同的情况,如果你的任务完成了,加班呢就没有事情了,但是如果你的任务没有完成,这个时候我们需要考虑加班这个时间段里面对应的这个工作的状态;

image-20250508162825875

在我们的下面的主函数里面,主要就是针对于这个不同的时间段去调用我们的这个自定义函数,打印具体的不同时刻下面对应的这个状态的相关的信息;

image-20250508163142187

在这本书里面显然指出来了上面的这个代码里面需要处理的问题,就是我们的代码里面的分支条件判断的语句太多了,而且上面的这个方法代码是面向过程进行编程的,没有使用我们的面向对象的这个相关思想;

下面的这个就是书本里面的两个任务的对话:程序员在教导这个小白如何使用面向对象的这个思想对于我们的上面的原来的代码进行相关的修改操作,也就是需要进行类的封装和我们的属性的定义,我们需要从加班的这个实际的场景里面去封装类,定义这个过程里面的涉及到的属性之类的;

image-20250508163323498

3.代码2.0版本

针对于上面的类的封装和属性的定义,我们的故事的主人公对于上面的代码进行了修改,也就是我们的这个题目2.0版本的代码:

下面的这个代码里面可以明显的看到这个对应的类的封装(work这个类),里面也是包含了这个相关的过程里面需要使用到的这个属性,诸如我们的hour,也就是这个过程里面涉及到的这个时间

image-20250508163548840

但是不可否认的就是,这个代码自定义方法里面的内容依然是过长的;在文章里面,作者是使用下面的这个例子进行相关的说明,实际上不仅如此,这个方法的定义还违反了我们的单一职责的原则,就是每一个方法里面的职责都是有限的;

但是我们的上面的代码里面,显然我们的任何时刻的任务的修改,都需要去修改这个方法,但是我们的单一职责原则是每一个方法只需要负责我们的这个过程里面的一个职责,也就是这个程序的职责太大了,违反了单一职责的原则;

image-20250508164049407

接下来改进的方向:就是把我们的不同的状态进行分类,凸显我们的状态模式对应的这个思想;

4.代码3.0版本

下面的这个是修改之前的作者告诉我们的这个设计模式对应的好处,以及这个对应的情况;

image-20250508164517303

下面的这个就是作者定义抽象类,并且针对于不同的类,都去实现我们的抽象类里面的这个写程序的方法,我们新增三个类去实现这个里面的方法,并且每一个类都是对应的不同的时段;

image-20250508165916494

这个时候的工作类里面,也没有很长的这个分支判断的语句:都是对象的创建和调用这个类里面的相关的方法

image-20250508170608566

5.梦结束的地方

这个时候,回到故事开始的这个地方,我们如果想要修改这个里面的内容,还需不需要作很大的这个修改呢,这个时候是完全不需要的,

这个时候,我们添加一个新的强制下班的状态就可以了,而且这个时候是不影响我们的其他状态里面的代码的,达到了我们的目的;

image-20250508170910671

下面的这个就是如何进行跳转的这个示例代码:

image-20250508170723053

)]

下面的这个就是如何进行跳转的这个示例代码:

[外链图片转存中…(img-1LieNLA5-1746699308264)]

这个就是状态模式的全部内容啦,感谢你的观看;

http://www.dtcms.com/a/513193.html

相关文章:

  • 如何优化一个网站案例网站模板_案例网
  • 青岛开发网站深圳福田区房子价格
  • JeecgBoot积木报表综合漏洞检测工具
  • 南召微网站开发免费开发游戏的软件
  • 寻找网站建设 网站外包wordpress评论页面美化
  • 营销网站建设企业筑人才官网
  • 多模态是什么意思
  • 在线音乐网站开发php上海资格证报名网站
  • 企业网站建设协议淘宝上可以做网站吗
  • 【JDBC】实战 养老中心护理项目的增删改查
  • 智慧校园顶层规划设计方案PPT(62页)
  • MATLAB | 函数或变量无法识别 / 函数缺失
  • 做网站用笔记本电脑wordpress 大内存
  • qq刷赞网站怎么做的网页策划案
  • 邯郸做网站多少钱企业网站的建立联系方式
  • 汕头网站建设培训公司免费微信网站制作
  • 新建网站推广给企业海口网站建设哪个好薇
  • jmeter测试dubbo接口
  • AI体测设备哪家好供应商
  • 网上做预算的网站宿州集团网站建设
  • 微信网站怎么做的好处站长统计性宝app
  • 网商网站怎么做合肥建站网站模板
  • 从零开始学阿里云服务器安全管理:防攻击、防泄漏、防漏洞
  • Berachain 推出原生借贷板块 BEND,为 PoL 生态进一步注入资金循环能力
  • 深圳罗湖外贸网站建设怎么做网站网站
  • 4.5.更新数据
  • 网站新闻更新怎么设计wordpress标题调用标签
  • HPjtune.jar 使用教程(附下载与调优步骤)​
  • 松江网站建设培训费用视频制作软件哪个好用
  • QCResUNet:体素级与受试者级联合的分割质量预测|文献速递-文献分享