【机房重构】—上机&订餐

前几天通过UML图中的时序图。让我对于机房重构中的每一条线理解的更加清晰。曾经认为上机特别的乱,在一次偶遇中,得知了原来它能够转化成我们平时订餐。以下就听我说一说上机&订餐的故事吧!

又是发生在一个风和日丽的早上(廊坊师范学院时间:11:30)。事实上对于大多数人来说应该是中午了吧。睁开朦胧的睡眼,拿起手机看了看Time,到了吃饭的时间了。因为昨天晚上一直整理自己的机房收费系统上机部分。到非常晚才睡。朦胧记得我最后“搞”成功了!为了庆祝我昨天的战果于是果断在美图团网上订了一份排骨盖饭。起来洗漱完之后正好送餐的刚到。拿上排骨盖饭细细品尝的同一时候,回顾了自己昨晚的战果。面对排骨盖饭。突然认为这上机里面的全部逻辑全然能够用我订餐来取代!

当用户(我)发出一个订餐(排骨盖饭)指令。它就会通过我们的网络(通道)到达餐馆(DAL层),餐馆通过推断告诉我是否还有排骨盖饭(在机房收费系统中这就相当于推断卡号是否存在);下完订单我选择网上支付。我首先检查一下我的支付宝里面的钱是否充足(这就相当于查询剩余金额是否充足,当然这里是须要基本数据设定表中的数据),卡上有三位数的钱够了。这时我还须要查看一下大哥是否给我订饭了,由于昨天晚上朦胧中和大哥说了一句:“明天我要是起不来记得给我订饭”(这就相当于查看卡号是否正在上机);大哥忘记给我订餐了,所以我果断网上支付,成功之后就将我的订单信息发送到餐馆(DAL层)。这时我就等待我的饭到来吧。

下面是我画的上机时序图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFrYW5nNDU2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

有了这个上机&订餐帮助我们理解一条线的逻辑,相信面对全部的功能都不这样乱了吧。

时间: 2024-10-07 07:12:47

【机房重构】—上机&订餐的相关文章

【机房重构】—上机&订餐

前几天通过UML图中的时序图,让我对于机房重构中的每一条线理解的更加清晰,以前觉得上机特别的乱,在一次偶遇中,得知了原来它可以转化成我们平时订餐,下面就听我说一说上机&订餐的故事吧! 又是发生在一个风和日丽的早上(廊坊师范学院时间:11:30),其实对于大多数人来说应该是中午了吧,睁开朦胧的睡眼,拿起手机看了看Time,到了吃饭的时间了,由于昨天晚上一直整理自己的机房收费系统上机部分,到很晚才睡,朦胧记得我最后"搞"成功了!为了庆祝我昨天的战果于是果断在美图团网上订了一份排骨盖

机房重构 之 SqlHelper

机房收费开始一段时间了,刚开始也是敲了一段时间,发现D层访问数据库出现了大量的重复代码,每个D层类都要 单独访问数据库.发现问题,咱们就解决问题,查阅前人的博客,发现了一个SqlHelper类,运用一下,果然好用,省 去了大量时间去写重复的代码. 小面对SQL中的一些类方法进行简单的介绍. 1.SQLHelper.ExecuteNonQuery    作用:用于执行语句 2. SQLHelper.ExecuteScalar       作用:用于获取单字段值语句 3. SQLHelper.Exe

机房重构包图(从三层+实体到三层+实体+外观+工厂+接口+SQLHelper)

刚刚开始接触三层的时候,我只做了两个登录小窗体的例子.画了简单的包图,可以说,为后面机房重构留下了大量的工作(因为三层理解没有深度,也没有理解出自己的东西).不过,欠下的总要还的.在做机房重构的时候,问题出现了.如果只用三层+实体,我能做出来,但是,要求重构不能只用三层+实体,那么,就要好好分析一下了. 首先说说三层+实体:就是表现层(U层)直接调用业务逻辑层(B层)的逻辑,业务逻辑层在直接访问数据层(D层),在把数据返回到B层后返回到U层.首先,只用三层+实体做程序时,灵活性不够高.如果想换数

机房重构时利用状态模式实现消费时间的计算

在做机房重构时,我们会在学生上下机计算学生上机时间时,会出现消费时间随着基本数据设定表中的数据变化而变化,这里不仅仅是数据的变化,还包括不同时间段内消费时间具体确定问题.主要分为三个时间段的计算 1.准备时间:即在此时间段内,消费金额为0 2.至少上机时间:如果上机时间超过了准备时间,但是少于至少上机时间,那么此时消费时间为至少上机时间 3.按正常消费时间来算:此时,消费时间大于至少上机时间后,则按照正常时间来算 通过对业务的分析,我们发现在不同时间段,最终的消费时间的计算方式是不一样的.如果我

【机房重构】SQL之视图

最近在重构机房收费系统,越往后就会越感觉到这里更多的是对之前学过知识(数据库,设计模式)的一种应用和回顾.比如在登录功能中用到了抽象加反射,在学生下机中,我们可以用触发器来同时更新两个表.这里就先说一下视图的使用,关于视图的有点和作用百度上有很多答案,在此不再赘述. 视图定义: 自己理解:在涉及到多张表的操作的时候就可使用视图.这样可以避免与数据库直接联系.并且当你更新数据库数据时,就会自动更新视图中的数据,方便以后查询. 百度百科:计算机数据库中的视图是一个虚拟表,其内容由查询定义.同真实的表

机房重构---小结

回顾这个项目,我将其分为四个阶段:(一).熟悉需求.画图.设计数据库,将三层登录改为七层:(二).增删改查各敲一条线:(三).剩余功能的设计:(四)完善系统.现在再看这段历程,很奇怪我在第一和第四环节上花费的时间占了绝大部分,也更深刻地感受到了设计软件不仅仅是敲好代码这么简单. 经历了两次验收,第一次师傅狠批了一次,回头又修改了一个星期,第二次验收通过,下面从这几个角度来对这次机房重构做下总结: 一.细节 所谓"细节",从需求分析开始,好多方面如果没有别人指出来,自己很难发现问题所在,

机房重构——按需画图

机房重构开始了,与VB版不同的是这次是面向对象的设计理念.软件工程的设计阶段我们也都清楚:1.问题的定义,可行性研究:2.需求分析:3.概要设计:4.详细设计:5.编码:6.测试:7.维护. 由于前面我们已经写过文档了,所以这里就不过多的说了,这是按照应有的步骤大致的走了一遍.从第二阶段开始说起吧,需求分析.这个阶段主要是确定我们是要让系统来干什么,有了前一个系统的经验我们很容易理解机房收费系统的功能,这里说些比较有争议的,其实系统如何设计就是根据自己的需求来设计的,需求不同,设计出来的自然就不

【机房重构】SQl之存储过程

上篇博客介绍了SQl视图的使用,这篇博客通过内容和实例应用来简单介绍一下存储过程. 在机房重构的过程中,犯了个大忌(数据库设计在重构过程被修改了),所以影响了一个功能的实现,就又重新敲了一下机房收费系统退卡功能.正如"塞翁失马,焉知非福",纯三层的代码实现变成了利用存储过程之后的完美实现.期间的磕磕绊绊都让我们对存储过程加深了理解. 存储过程: 定义: 当需要写多条SQl语句的时候,就可以使用存储过程,在数据库中建立存储过程.之后在VS中通过调用存储过程来使用. 百度百科:存储过程(S

机房重构(5)——模板方法实现组合查询

在敲机房收费过程中,我们会发现很多窗体除了一些细微的差别外,基本是一模一样的,功能的实现也是大同小异.在第一次机房收费的时候,我们都是"好学生",尽管代码重复率极高,还是按部就班的一个个的实现.但在学习了设计模式,机房重构的现在,再傻傻的重复代码,就不是明智之举了. 整个收费系统中,总计有四个组合查询的功能(界面如图),为了提高代码复用率,提高效率,就引入了模板方法实现. 模板方法模式,定义了一个操作中的算法的骨架,把一些步骤延迟到子类当中.它使得子类可以不改变一个算法的结构即可重定义