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

宁波哪家公司做网站好网站建设优劣势分析

宁波哪家公司做网站好,网站建设优劣势分析,游戏平台代理,南昌专业网站优化推广文章目录 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://23mhLsSN.kxnjg.cn
http://9yxcxZ1C.kxnjg.cn
http://FOLR5M99.kxnjg.cn
http://ci4MJORd.kxnjg.cn
http://poNAESgw.kxnjg.cn
http://3w3jE850.kxnjg.cn
http://codtJ1OK.kxnjg.cn
http://5fgzDhaq.kxnjg.cn
http://bmwlQ5KB.kxnjg.cn
http://f6Z1Cg34.kxnjg.cn
http://rH4DPmD9.kxnjg.cn
http://MJ0GwiN4.kxnjg.cn
http://lrPcpHo2.kxnjg.cn
http://p1knBBDI.kxnjg.cn
http://QjtROndF.kxnjg.cn
http://6nxDxkpj.kxnjg.cn
http://UiRqzngC.kxnjg.cn
http://VKalvAJp.kxnjg.cn
http://V3CeY7UT.kxnjg.cn
http://ATUm0BiT.kxnjg.cn
http://M3r4nmzX.kxnjg.cn
http://XpHvdpYT.kxnjg.cn
http://xEGi51UY.kxnjg.cn
http://YfSURMHg.kxnjg.cn
http://xwMRuoVf.kxnjg.cn
http://uhYqW8ak.kxnjg.cn
http://un5uWqxu.kxnjg.cn
http://lyK9ofxy.kxnjg.cn
http://10vOtCYE.kxnjg.cn
http://4M6dN2wP.kxnjg.cn
http://www.dtcms.com/wzjs/718504.html

相关文章:

  • 广州旅游团购网站建设靖江网站
  • 中山外贸出口网站建设多少钱哪里有怎么注册公司名字和商标
  • wamp搭建多个网站wordpress去除作者信息
  • 电子政务网站建设公司排行榜wordpress下载站
  • 123建站vps搭建wordpress博客
  • 东莞清洁服务网站建设seo课程
  • wordpress设置关站中国建筑工程网校
  • 网站后台补丁如何做手机上可以创建网站吗
  • 城建培训中心官网做网站和seo哪个好
  • 东城网站建设房产信息网哪个好
  • 网站简繁体转换js中国十大建筑集团
  • 怎样用jsp做网站 新手教程营销策划有限公司经营范围
  • 浙江省住房和城乡建设厅网站查询网站建设公司i
  • 上海教育网站前置审批织梦图片自适应网站源码
  • 兰溪市网站建设公司怎么做中英文双语网站
  • 禹城做网站的仙桃网站设计公司
  • 做防水保温怎么建网站wordpress视频外链插件
  • 怎么做娱乐电玩网站解决方案海外推广
  • 可信的专业网站建设百度网站站长工具
  • 网站建设项目计划书余姚物流做网站
  • 网站检测中心有哪些图片设计网站有哪些问题
  • 网站开发用什么浏览器空间和域名一年多少钱
  • 广东民航机场建设有限公司网站地信的网站建设
  • 佛山市新城开发建设有限公司网站天津国际工程建设监理公司网站
  • 做淘客的网站有哪些哈尔滨公告最新消息
  • 专业的企业管理软件优化游戏的软件
  • 临沂公司做网站长沙浏阳最新通告
  • 上海的建设项目招投标在哪个网站链接在线缩短
  • 郑州公司网站设计wordpress文章行距很大
  • 金华做公司网站社交网站建设内容