从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的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. OpenCL NativeKernel 计算矩阵乘法

    ▶ 使用函数 clEnqueueNativeKernel 来调用 C/C++ 本地函数(在 OpenCL 中将其看做回调函数),使用本地编译器(而不是 OpenCL 编译器)来编译和执行内核 ● 代码 ...

  2. leetcode395

    分治法. public class Solution { private int LongestSubstringSub(string s, int k, int start, int end) { ...

  3. OpenLayers 3 扩展插件收集

    OpenLayers 3 扩展插件 Awesome-OpenLayers OL3扩展 ol3-ext 很酷的一组 OpenLayers 3 (ol3) 扩展: 编辑-选择控件.CSS popup(弹出 ...

  4. iscroll源码学习(1)

    iscroll是移端端开发的两大利器之一(另一个是fastclick),为了将它整合的avalon,需要对它认真学习一番.下面是我的笔记. 第一天看的是它的工具类util.js //用于做函数节流 v ...

  5. $in 操作符

    [$in 操作符] The $in operator selects the documents where the value of a field equals any value in the ...

  6. Cocoa Touch(五):网络请求 NSURLSession/AFNetworking, GCD, NSURLResquest

    NSURLRequest 网络请求的关键的就是NSURLRequest类,它的实例表示了请求报文实体以及请求的缓存策略等等,各种网络框架的最终目标都是把这个对象编译成为请求报文发送出去.下面用一个实例 ...

  7. 用jquery实现html5的placeholder功能

    html5的placeholder功能在表单中经常用到,它主要用来提示用户输入信息,当用户点击该输入框之后,提示文字会自动消失. 我们用jquery实现类似的功能: 当输入框获得焦点时,清空输入框中的 ...

  8. [Python]利用type()动态创建类

    Python作为动态语言,可以动态地创建函数和类定义.比如说定义一个Hello类,就写一个hello.py模块: #! /usr/bin/env python #coding=utf-8 class ...

  9. Luogu 3321 [SDOI2015]序列统计

    BZOJ 3992 点开这道题之后才发现我对原根的理解大概只停留在$998244353$的原根是$3$…… 关于原根: 点我 首先写出$dp$方程,设$f_{i, j}$表示序列长度为$i$当前所有数 ...

  10. Laravel 引入自定义类库或第三方类库

    强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况.!!当然,没有命名空间也可以使用,就是类名字(非文件名)最好复杂一些.(重复也不要紧,程序会自己判断) laravel5.4中如 ...