请选择 进入手机版 | 继续访问电脑版

用C#写的第一个项目

2019-1-29 12:28
1300
从4月初,从班主任那边的接到一个项目,忙活了一个半月,只能说项目的第一版本是完成了,其实我感觉里面有很多的问题,很多的代码复用,还有模型在设计之初的时候,就存在的问题,而且自己第一次开发,缺少很多的经验,其中遇到了许多的问题,接下来我一一来说。
    先上第一版项目的工程目录图: 用C#写的第一个项目-1.png
   ps:之前在看传智视屏的时候,有学到过三层,所以在第一次项目当中,我直接分了三层,但写到后面发现,我中间的bll层其实没用到呀,主要还是自己太菜。
问题一:

    在最初的时候没有考虑好模型,我把模型之间结合在一起了。这个系统当中有学生,学生成绩,学生奖项这几个实体,我把学生成绩还有学生奖项,放在了学生这个实体里面,就导致这个学生这个类,当中的内容会有很多,最初的设想是通过使用学生这个对象,将取出的学生成绩和奖项,放到学生实体当中。
用C#写的第一个项目-2.jpg
     我先说一下,我现在还是很菜的,不会什么ef框架,还有一些其他的框架,DAL层我只使用了在几个月前自己封装的SqlHelper。
     当初设想的很美好,但在之后写的时候,就感觉这样的使用不灵活呀。在最后几次改动之后,就直接将他们三个实体单独分开了,没有这种结合的关系,因为在后面查询数据之后,将数据给学生对象可以,但如果设计到一些条件的筛选,还有分页,还不如将这几个实体分开使用来的便捷和灵活。
问题二:

    查询获奖信息存在一个非常严重的问题。
用C#写的第一个项目-3.jpg
用C#写的第一个项目-4.jpg
在用户要去查看成绩的时候,事先将所有的成绩查询出来,将成绩进行处理,把处理好的结果存放到表中,在进行演示,这样做真的很蠢。
在这之前,我是考虑到老师他去改动了学生的成绩,这样当天的获奖评选就会需要改动,在最初认为,如果老师在改动成绩的时候,再去改动一下那一天的评奖表格,这样操作数据库太平凡了。
接着想到的解决方案是使用数据库的中的临时表,但这样,凭我现在的技术实现不了,每一次去执行SQL语句又是一个不同的连接,对数据库的临时表,只能创建,若后面要修改就需要将连接保存下来。最后感觉太麻烦直接选择生成表,来实现这个功能。
当时想到的时候很开心,结果码好代码,开始测试,发现这样速度太慢了,如果数据一多,直接爆炸呀。在这一块当中,我打算之后重构项目的时候肯定改掉。
问题三:

    安全问题,这个我先不说了,免得丢在服务器上的网站爆炸。
问题四:

    在做分页的时候直接用了别人写好的组件,这不是重点,貌似当天他把项目当中的依赖关系搞炸了,接着第二天,调试的时候搞了大半天=。=
问题五:

    在做身份验证的时候,真的什么都不会呀,在网上找了好多篇博客,看了好长一段时间,才大概的搞懂,自己去实现IPrincipal这个接口写了一个。
    分享一下博客的链接:细说ASP.NET Forms身份认证
总的来说,我好像就想起这些问题吧,还有一些比较细的就不说了,反正最重要的问题还是这个项目构建存在非常严重的问题。还请各位看到的大佬,多多指点,本笔者还是一个萌新。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翁笔

© 2001-2018 Wengbi.com

返回顶部