用MVC5+EF6+WebApi 做一个小功能(一)开场挖坑,在线答题系统
从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的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 做一个小功能(一)开场挖坑,在线答题系统的更多相关文章
- 用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建
一般一个项目开始之前都会有启动会,需求交底等等,其中会有一个环节,大讲特讲项目的意义,然后取一个高大上的项目名字,咱这是一个小功能谈不上项目,但是名字不能太小气了.好吧,就叫Trump吧.没有任何含义 ...
- 用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理
在一个项目开始前,需求整理大概要占到整个项目周期15%甚至30%的比重,可以说需求理得越清楚,后续开发中返工几率越小.在一个项目中,开发新功能的花费的精力要远远小于修改功能的精力,这基本是一个共识.老 ...
- 用MVC5+EF6+WebApi 做一个小功能(四) 项目分层功能以及文件夹命名
在上一节,我们完成了一个项目搭建,我们看到的是一个项目的分层架子,那接下来每一层做什么以及需要引用哪些内容呢?在本节内容我们还逐步拆分每一层的功能,顺带添加package包 Trump.Domain ...
- 用MVC5+EF6+WebApi 做一个考试功能(六) 仓储模式 打造EF通用仓储类
前言 年底工作比较忙,年度总结还没写,项目要上线,回老家过年各种准备.尤其是给长辈给侄子侄女准备礼物头都大了. 原来想年前先出一版能用的,我看有点悬了,尽量先把大体功能弄出来,扔掉一些,保证能考试,然 ...
- 用MVC5+EF6+WebApi 做一个考试功能(五) 前端主题
内容概述 前面絮絮叨叨没正事,到现在为止也没有开始写代码,不过在考虑下貌似这一节还是开始不了. B/S架构开发有一个特点,就是用浏览器打开,不同的用户群体可能有不同的风格,不论是管理平台还是普通的网站 ...
- 使用PixiJS做一个小游戏
PixiJS PixiJS使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库. 官方 ...
- 用RecyclerView做一个小清新的Gallery效果 - Ryan Lee的博客
一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...
- 用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。
最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变 ...
- 用RecyclerView做一个小清新的Gallery效果
一.简介 RecyclerView现在已经是越来越强大,且不说已经被大家用到滚瓜烂熟的代替ListView的基础功能,现在RecyclerView还可以取代ViewPager实现Banner效果,当然 ...
随机推荐
- centos7.3给squid搭建代理服务器添加认证nginx
1先安装 nginx 这里是教程 点击查看 2 然后 使用命令 创建用户 htpasswd -c /etc/nginx/passwd.db baker 输入密码 提示添加完毕 3 查看加密后的用户和 ...
- 【python】 time模块和datetime模块详解 【转】
一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共 ...
- S 导客户主数据 及更新销售团队、组织、品牌
一.导入客户主表(INSERT) EXCEL模板 [Public] ConnectString=host="siebel://10.10.0.46:2321/HC_CRM/SMObjMgr_ ...
- MongoHelper
/* @@decription mongodbHelper @@version 1.0 @@author think_fish&&dachie @@copyright think_fi ...
- ps 中添加一张图片
// 测试打开一个文件var fileref = new File ("/E/work/没有图片提交/2014/2014.5.19/G20/部件渲染测试/png/tianji_1-41001 ...
- [原创]Cef3 2623.1397 开启ppapi flash插件
最近发现WKE播放Flash或者游戏时会有很多BUG,例如视频无法播放或者是Stage3D无法使用等问题. 经过研究应该是精简版本导致的,所以决定尝试使用CEF3移植入SOUI,但是DEMO中版本有点 ...
- Android登录模块原理及实现
1.需要保持登录状态,在本地保存登录的状态信息. 2.界面布局 3.登录流程 输入信息=>登录成功=>手机号发送验证码=>输入验证码=>登录成功
- UVa 1599 Ideal Path (两次BFS)
题意:给出n个点,m条边的无向图,每条边有一种颜色,求从结点1到结点n颜色字典序最小的最短路径. 析:首先这是一个最短路径问题,应该是BFS,因为要保证是路径最短,还要考虑字典序,感觉挺麻烦的,并不好 ...
- iphone在微信中audio 音频无法自动播放
问题: Html5的audio 音频在电脑端和android端都可以实现自动播放,在iphone上无法实现,下面针对的是微信浏览器里面的解决方法 html代码: <div id="au ...
- Hello_Area_Description 任务三:Project Tango采集区域描述数据
Permission Dialogs for Users in Java在Java中用户使用的权限对话框 Tango works by using visual cues from the devic ...