从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的NET程序员,从WebForm到MVC到现在MPA、SPA 、Razor单页,从net2.0一直走到现在.net4.6.2,后面还有一个Core在等着攀登。唉,不知多少net程序员死在沙滩上,又有多少net程序员转行送了外卖!

整个技术行业,从传统的单机应用到联机应用,然后Web应用,爆发式的移动应用,然后又开始了云计算,又来了微服务,还有大数据、AI人工智能。还有微信自己搞起了一片天地叫做微信开发(不知道是不是这个名字)。前端也是从无到有,从一个写破脚本的到现在的遍地前端大神。加上UI设计师、UE设计师等等,看似繁花似锦的唐宋盛世一样。

看看自己,在这繁华盛世依然拿着打狗棍等着丐帮帮主传授不不世武功,等来等去回首只会打狗。有心换个门庭投靠个好点的门派,试想这么多年苦练打狗棍,换了该用匕首或者大刀,完全不是一个套路,少林棍法听说也不错,可是有清规戒律怕不适应,人老了可能就这样了只能老实的混吃等死吧。

一堆废话,昨晚睡太晚,脑子一片乱糟糟,不知所言。

言归正传,最近做项目,原来的项目是使用WebForm做的,想当年也是从VS2005开始入的行,但是后来有了MVC用过MVC以后再想回到WebForm开发真的挺难的。然后就和领导说了下想法,领导很有风度,不管过程如何,只要功能实现即可。然后就乐呵的给自己挖了个坑埋了。带着团队成员开始了no zuo no die的旅程,其实主要是我的压力大些,负责后端数据提供,还有管理功能的页面实现。

从MVC 1开始关注,MVC 3照着musicshop的例子做了一个demo,到现在MVC5,一直有关注,真正的使用大概有两三年左右,还是穿插加杂,因为工作一直用企业自有研发平台,理清业务就开始生成、复制粘贴、调试发布、测试上线。尤其有的企业搞一套东西完全和大环境下技术栈格格不入的时候,对企业是大大的利好(效率高、安全),对于个人来说,差不多就是百害无一利,唯一可能就是多了不少行业业务上的积累。好了扯多了。

基于各种原因(其实就是光顾蒙头干活,没有抬头看看路),一直想单独的整理一下MVC+EF开发过程中的路径以及问题,网上看到各种资料很多都不是基于实际项目,缺少项目中的业务复杂度和真实性,有的完全就成为技术堆垒不具有实用性,而在开发过程中会经常碰到过去解决过的问题却忘记了怎么写怎么处理……

请注意,下面才是正文

我们要做的功能叫做在线考试

原因:网上好像没怎么有人演示过这个,同时这一块的展现的内容以及复杂度也基本满足大部分项目

使用技术:

  • ASP.NET MVC 5
  • ASP.NET Web Api
  • Entity Framework 6
  • jQuery+bootstrap
  • 以及各种网上拼凑的插件

包含功能:

  • 试题库管理
  • 试题管理
  • 试卷管理
  • 考试管理
  • 在线考试
  • 成绩发布
  • 考试统计

其中划线的是没有开发的,其余的已经开发出来了,就等着在拎出来了

以上功能以外,还包含

  • 公用仓储库
  • 依赖注入
  • 简单的权限管理

当前项目完成后基本满足客户的需求,一般项目的目标是客户满意,实际是客户永远不会满意,手段就是让客户尽快的进行产品交互和体验,针对其需求快速迭代。

大概就这样,想起什么再补充,把计划记录与此,以此文督促自己抓紧作总结。

用MVC5+EF6+WebApi 做一个小功能(一)开场挖坑,在线答题系统的更多相关文章

  1. 用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建

    一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义 ...

  2. 用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理

    在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小.在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识.老 ...

  3. 用MVC5+EF6+WebApi 做一个小功能(四) 项目分层功能以及文件夹命名

    在上一节,我们完成了一个项目搭建,我们看到的是一个项目的分层架子,那接下来每一层做什么以及需要引用哪些内容呢?在本节内容我们还逐步拆分每一层的功能,顺带添加package包 Trump.Domain ...

  4. 用MVC5+EF6+WebApi 做一个考试功能(六) 仓储模式 打造EF通用仓储类

    前言 年底工作比较忙,年度总结还没写,项目要上线,回老家过年各种准备.尤其是给长辈给侄子侄女准备礼物头都大了. 原来想年前先出一版能用的,我看有点悬了,尽量先把大体功能弄出来,扔掉一些,保证能考试,然 ...

  5. 用MVC5+EF6+WebApi 做一个考试功能(五) 前端主题

    内容概述 前面絮絮叨叨没正事,到现在为止也没有开始写代码,不过在考虑下貌似这一节还是开始不了. B/S架构开发有一个特点,就是用浏览器打开,不同的用户群体可能有不同的风格,不论是管理平台还是普通的网站 ...

  6. 使用PixiJS做一个小游戏

    PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...

  7. 用RecyclerView做一个小清新的Gallery效果 - Ryan Lee的博客

    一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...

  8. 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

    最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...

  9. 用RecyclerView做一个小清新的Gallery效果

    一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...

随机推荐

  1. NodeJs通过async/await处理异步

    ##场景 远古时代 我们在编写express后台,经常要有许多异步IO的处理.在远古时代,我们都是用chunk函数处理,也就是我们最熟悉的那种默认第一个参数是error的函数.我们来模拟一个Mongo ...

  2. OpenCL 事件的使用,以及回调函数

    ▶ 事件的两种使用方法.第一种是用事件 a 标记进入命令队列的操作 A,于是后续进入命令队列的操作 B 可以被要求等到前面事件 a 完成(即操作 A 完成)以后才能开始调度执行.第二种是使用用户自定义 ...

  3. OpenCL 图像卷积 1

    ▶ 书上的代码改进而成,从文件读入一张 256 阶灰度图,按照给定的卷积窗口计算卷积,并输出到文件中. ● 代码,使用 9 格的均值窗口,居然硬读写 .bmp 文件,算是了解一下该文件的具体格式,留作 ...

  4. JVM 调优参数设置

    先看Linux内存大小(假设为2G) cat /proc/meminfo |grep MemTotal 查看java初始配置 java -XX:+PrintFlagsInitial Tomcat配置 ...

  5. latex如何插入空白行

    1.~\\:一行空白2.\\[行距]:可加入任意间距的空白行 [xpt]

  6. 记一次结巴分词.net core 2.0版 nuget发布过程

    最近用到分词考虑很久,选用了结巴分词,原因见博客Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考 既然选好了,难就开始行动吧 . 查了.ne ...

  7. 2013年最后的收成:avalon1.0正式发布

    大半年前我就说过,MVVM是前端究极的解决方案,因此之后我大多数时间都在折腾avalon,成立了专门的QQ群与感兴趣的一起讨论.感谢第一批吃螃蟹的人,avalon发展得很快,GITHUB上的贡献人数达 ...

  8. linux 同步IO: sync、fsync与fdatasync

    [linux 同步IO: sync.fsync与fdatasync] 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行.当将数据写入文件时,内核通常先将该数据 ...

  9. C语言结合汇编开发系统内核

  10. input和React-Native的TextInput的输入限制,只能输入两位小数(阻止0开头的输入),类似价格限制

    一.背景: 想要实现一功能: 1. 最多只能输入两位小数,类似的价格限制 2. 实时监听限制输入,禁止输入不符合规范的字符(当输入违禁字符,进行删除操作) 这样做的优点: 1. 在用户输入时直接进行限 ...