机房收费重构之总结篇

《机房收费重构》之路终于接近了尾声,这么一个月的时间做梦都在敲代码。总结《机房收费重构》的道路需要从学习方法,注意问题,知识总结三方面来进行!

《机房收费重构》之路的背景:

1.设计模式:

设计模式的思想这次在《机房收费重构》中体现出来了,算是对设计模式的一种考察吧,思想运用于实践。本次机房收费系统使用了外观模式,模板模式,原型模式等。具体在哪里应用大家都可以运用自有。

2.三层架构的基本认知

三层架构主要是让我们了解了关于分层的主要思想,算是给项目打下良好的基础吧!

3.了解EA图的画法

这一阶段很重要,能否一次性并且事半功倍的完成项目画好EA图是一项非常重要的阶段!用例图,类图,时序图个个都能理清机房收费的思路,尤其在时序图方面,能够判断一个完成功能的实现顺序,以及方法调用和层与层之间的关联。最后就是拥有第一次做机房收费的经验,通过第一次的经验才能使得这次机房收费的业务逻辑比较清晰。少走弯路。

学习方法总结

关于这次机房收费重构之路,艰辛,困难,收获,升华来形容吧。通过系列性的文章来总结自己走的每一套道路,关于机房收费重构这个项目,少不了的是吸取,总结,和思考!关于吸取,师哥师姐的博客是主要来源之一,开始在自己没有思路的时候总是不停的看博客,评论博客。别人走过的路也许就是你下一步要走的路,而且使自己少走弯路。

     学习就是在自己不知道怎么下手的时候,硬着头皮,动手去做,或许在由量向质的转化时我们就已经懂了,懂了如何去做了。将自己遇到的困难和出现的错误总结下来。用好OneNote笔记。

      思考,思考是这次项目的主旋律,下午开始敲代码,思考的时间根本不会允许自己停下来休息半刻,因为生怕打断自己的思路,导致无法进行。思考,独立静静的思考。但是不要钻牛角尖,提高班好多大神呢。为何不请教呢?

注意问题:

  注意问题我想说的是关于这次试用vs来调用数据库更加的灵活方便了,要注意数据库使用的细节,也许就会因为数据库中小小的存储过程语句的一个空格,就会导致整个程序无法运行。比如char(32)是空格 char(39)是单引号,细节决定成败完全彰显出来。

拥有大局观,做希望一开始就是对的,不保证百分百全对,但是不至于自己意识到错误以后回头改正的时候发现前面的努力全部白费了。所以再次提到EA画图。

知识总结:

 关于这次《机房收费》,多了分层架构方面的知识,伴随而来的就是层与层之间的返回值问题,在定义SQLhelper时,是返回的datatable类型,但是师傅说过,当层与层返回表的时候,耦合性大大的降低,导致程序不易维护。让自己想办法解决这个问题。后来就知道了泛型集合的应用。《泛型应用》

 关于外观层众说纷纭,比如像上下机这种业务逻辑比较多的时候,B层的业务逻辑返回外观层,U层直接调用外观层,解耦的思想完全可以,但是比如像查询学生余额这样的简单功能呢!业务逻辑较少,加上外观层岂不是多此一举呢。所以大家在做之前考虑周到吧。

 这次做项目,真正的体现了面向对象的精髓所在,比如SQLhelper的抽象,将对数据的操作抽象出一个简单的方法,任意调用就好了。其实这次还有好多的方法都是重复,都可以抽象出来,留着以后慢慢改进吧!

 《机房收费》,重中之重是逻辑思维,数据库中的表都是相互联系的,数据库方面的知识,我们自考学过《数据库原理》这本书,也算是得到很好的应用吧。

    每一次项目的结束也都是一个开始。为自己以后积累经验就是最好的收获吧!


转载于:https://www.cnblogs.com/xzpblog/p/5117978.html

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

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

相关文章

带有Python示例的math.exp()方法

Python math.exp()方法 (Python math.exp() method) math.exp() method is a library method of math module, it is used to get the number in exponential form, it accepts a number and returns the number in the exponential format (if the number is x, it returns e*…

想快速拥有个人网站?来试试这个...

一、简介Hugo 是Go语言实现的一款静态网站生成器。它简单、易用、高效、易扩展、快速部署。相比较其他静态网站生成器,它的优点有这几点:项目构建特别快主题目录与站点目录结构一样配置文件为*.toml 格式,语法常简单易懂,没有缩进…

android 类ios actionsheet效果

1.http://blog.csdn.net/zhaoxy_thu/article/details/17733389 2. https://github.com/ojhariddhish/actionsheetdemo

带有Python示例的math.cos()方法

Python math.cos()方法 (Python math.cos() method) math.cos() method is a library method of math module, it is used to get the cosine of the number radians, it accepts a number returns the cosine of the given number radians. math.cos()方法是数学模块的库方法&…

Linux Debian下突然所有命令未找到,显示bash: xxxxx: command not found的解决办法

出现这个问题是因为系统的环境变量没有正确配置造成的。 在终端内执行下面命令,确实可以解决办法,但是当关掉当前的shell窗口或者重启Linux的时候,我就发现又出现了找不到命令的错误。 export PATH/bin:/usr/bin:$PATH下面分享下彻底解决方…

Java对象都是在堆上分配空间吗?答案竟然是...

作者 l Hollis来源 l Hollis(ID:hollischuang)Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了…

c+pow函数的头文件_pow()函数以及C ++中的示例

cpow函数的头文件C pow()函数 (C pow() function) pow() function is a library function of cmath header (<math.h> in earlier versions), it is used to find the raise to the power, it accepts two arguments and returns the first argument to the power of th…

正则表达式 使用分支

正则表达式是非常有用的文本检索工具&#xff0c;这是一个非常简单而全面的教程正则表达式30分钟入门教程。这一篇教程&#xff0c;可以作为快速学习的工具。正则表达式&#xff0c;可能用的不是非常多&#xff0c;只是在Linux下&#xff0c;分析代码时候&#xff0c;用的比较多…

Python pandas读取csv txt excel和mysql数据库文件方法

# _*_coding:utf-8_*_ import os import pandas as pd import pymysql# Press the green button in the gutter to run the script. if __name__ __main__:strFilePath1 os.getcwd() "/天气.csv"df1 pd.read_csv(strFilePath1)print(df1)strFilePath2 os.getcwd…

服务器运行容器工具大盘点!

服务器到底是什么&#xff1f;服务器的硬件好理解&#xff0c;其实就是一台性能、稳定性、扩展性等等比我们普通个人PC强的一台机器而已&#xff0c;它也需要搭载操作系统&#xff0c;比如有专门的Windows Server或者各种Linux发行版系统。只不过咱这里很多小伙伴可能还是处于学…

python函数示例_使用Python中的示例的input()函数

python函数示例Python input()函数 (Python input() function) input() function is a library function, it is used to get the user input, it shows given message on the console and wait for the input and returns input value in string format. input()函数是一个库函…

Python pandas DateFrame查询数据df.loc的5种方法

# _*_coding:utf-8_*_ import pandas as pd# 自定义函数 def func(df):return df[temperature] < 32# Press the green button in the gutter to run the script. if __name__ __main__:data {date: [2022-08-21, 2022-08-22, 2022-08-23],weather: ["晴", &quo…

想读Spring源码?先从这篇「 极简教程」开始吧...

为什么要阅读源码&#xff1f;这是一个有趣的问题&#xff0c;类似的问题还有&#xff0c;为什么要看书&#xff1f;为什么要爬山&#xff1f; 这也是一个哲学问题&#xff0c;我想每个人都有不同的答案&#xff0c;下面我是对阅读源码好处的一些思考。 &#xff08;PS&#x…

Python pandas DateFrame新增数据列

下面代码在Linux下运行 # _*_coding:utf-8_*_ import os import pandas as pd# 自定义函数 def func(x):if x[temperature] > 30:return 高温if x[temperature] < 10:return 低温return 常温# Press the green button in the gutter to run the script. if __name__ __…

python函数示例_带Python示例的float()函数

python函数示例Python float()函数 (Python float() function) float() function is a library function in Python, it is used to get a float value from a given number or a string. It accepts either a string (that should contain a number) or a number and returns …

ALP规则的验证

实验1&#xff1a;ALP规则的验证实验目标创建本地用户jack、tom、mike,创建本地组group1&#xff0c;并把所建的用户加入到group1中&#xff0c;通过ALP规则实现以上用户对e:\share\1.txt 文件内容读取和写入权限实验环境略实验步骤一、 创建本地用户jack、tom、mike右击计算机…

6大分布式定时任务对比

作者 | sharedCode来源 | blog.csdn.net/u012394095/article/details/79470904分布式定时任务简介 把分散的&#xff0c;可靠性差的计划任务纳入统一的平台&#xff0c;并实现集群管理调度和分布式部署的一种定时任务的管理方式&#xff0c;叫做分布式定时任务。常见开源方案 e…

Python利用pandas获取每行最大值和最小值

知识点 1.找出每一行最大值和对应的列索引&#xff1a; #找出每行最大值对应的索引 df[max_idx]df.idxmax(axis1) #取出该最大值 df[max_val]df.max(axis1)2.找出每一行最小值和对应的列索引&#xff1a; # 找出每行最小值对应的索引 df[min_idx]df.idxmin(axis1) # 取出该最…

一文搞懂 ThreadLocal 原理

当多线程访问共享可变数据时&#xff0c;涉及到线程间同步的问题&#xff0c;并不是所有时候&#xff0c;都要用到共享数据&#xff0c;所以就需要线程封闭出场了。数据都被封闭在各自的线程之中&#xff0c;就不需要同步&#xff0c;这种通过将数据封闭在线程中而避免使用同步…

python中assert_在Python中带有示例的assert关键字

python中assertPython断言关键字 (Python assert keyword) assert is a keyword (case-sensitive) in python, it is used to debug the code. Generally, it can be used to test a condition – if a condition returns False – it returns an Assertion Error (AssertionEr…