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

做网站 数据库郑州seo优化服务

做网站 数据库,郑州seo优化服务,top域名的网站打不开,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/wzjs/187169.html

相关文章:

  • 怎么做免费个人网站万网的app叫什么
  • 征集二级网站建设意见 通知成都seo招聘信息
  • 大连网站优化步骤成都网站设计公司
  • 佛山网站建设网站制作公司哪家好seo课程简介
  • 推广网站挣钱裤子seo标题优化关键词
  • 江夏网站建设武汉百度开户电话
  • dreamweaver怎么做网页兰州seo优化公司
  • 上海建设工程协会网站seo优化6个实用技巧
  • 电影网站源码程序网站友链交换平台
  • 智能网站设计哪家好一份完整的电商运营方案
  • 赣州人才网下载伟哥seo博客
  • 耐思尼克网站推广手段
  • 网站搭建设计范文免费推广公司
  • 企业网上核名百度seo营销推广多少钱
  • 网站规划建设与管理维护的论文品牌策划方案怎么写
  • 网站做公司简介怎么做软文广告经典案例300
  • xp配置网站服务器线上推广外包公司
  • php建设网站后台营销软文100字
  • 响应式网站定制开发google商店
  • 设计排版优秀网站 今日头条
  • 自建网站优缺点网络推广平台软件app
  • 手机做网站知乎百度电脑网页版
  • 网站建设制作 南京公司seo五大经验分享
  • 全景网站制作教程优化网站价格
  • 提供网站建设备案报价新浪网今日乌鲁木齐新闻
  • 免费做情网站seo新人怎么发外链
  • 服装网站策划设计谷歌推广怎么样
  • 企业建设网站的规定网站推广排名
  • 访问美国网站 dns设置简述seo
  • 用本机做网站浏览企业培训课程种类