困境

追溯到2018年5月份,是个炎热的夏天,毕业后1年7个月我提出了离职,原因是受不了原来公司过度的封装框架感觉一年多毫无进步与实施天天轰炸般的电话,偶然间出去面试了一次发现自己知识真的是比较局限,决定换个环境提升自己,5月份出去面试屡屡碰壁,还好在老同事的介绍下进了个相关行业的公司,尽管还是一样的框架一样的味道,但是还是下定决心不管工作再忙都要不断的提升自己,哪怕每天进步一点点,我相信老天不会辜负有心人,可能今天你的付出不会立刻得到回报,但总会在未来的某一天,收获悄然而至。

挣脱

下定决心学习后的第一个问题就是,我该学什么,从哪个方面入手,往大了说框架,算法,前端,往小了说图像,工具,消息推送等等,经历了一段时间的迷茫我还是决定从一个平常开发过程中自己觉得麻烦的问题入手——DB层工具,第一家公司使用的DB层是微软企业库,漫天的SQL的语句真的是痛不欲生,一个项目下来,DB类都有个小2万行出头,所以决定在微软企业库的基础上封装一个通用操作工具,就这样有了目标之后,先按照自己的想法做了一版,查找了很多资料,不断的重构优化,学习了解网上看到感觉有兴趣或者自己从来没有听说过的技术,就这样算是对自我学习有了一个入门。相信大家也有过这样的经历,想去学一项技术或者一个框架,文档教程都很齐全,但就是学不下去,我觉得可能给自己定一个目标做出一个东西会学习来更加迅速和快乐,有需求才会有产出,通过DB操作工具的造轮子,我逐渐了解了自定义的Attribute,反射,Emit,IOC,事务的传递等等平常一带而过看到却没有静下心来去真正自己理解一下的知识点,项目大家有兴趣可以去看一下https://gitee.com/grassprogramming/FastORM

自由

有了学习的兴趣之后后续恰好了解到了Vue,觉得挺便捷的,于是决定从平时使用的模态窗口入手造了一个轮子,反反复复修改测试,又完成了一个自己小作品。2018.10月份朋友介绍了个小程序的小项目做着玩,就去研究了下springboot的使用和微信开发,算是增加了自己的知识面,中间又通过Java把自己写的DB操作工具翻译了一遍,收获良多。后面觉得公司既然能封装框架那自己试试看说不定也能做到呢,后续就接触到了ASP.NET MVC,AutoFac,Redis,EntityFrameWork,ElementUI等等涉及到的技术框架,于是开始了FastExecutor编写。

收获

FastExecutor是一款适用于小型项目(后台管理类)的快速开发框架,做到了页面数据分离,但是没有使用前后端分离,因为感觉Vue的单页应用形式对于小型项目增加了部署与开发的复杂程度。框架主要包含以下几个模块

组织架构:部门管理,人员管理

权限管理:模块管理,角色管理

数据管理:快速开发平台(在线建表,生成代码),附件库的分离

常用功能:字典项,系统参数,系统日志监控

可视化定制功能:首页元件管理,定时任务可视化配置集成

框架主要技术涉及到ASP.NET MVC,自定义DB操作类,自定义IOC容器,ElementUI,Redis的全局Token认证与基于Redis订阅发布的自定义消息组件等等,在实际的开发过程中,模仿现有开源框架的一些的功能加入到自己的框架中来,我觉得是最好的学习方式。

代码地址:https://gitee.com/grassprogramming/FastExecutor

演示地址:http://demo.fastdo.club/FastExecutor    admin/1

说明文档:http://doc.fastdo.club/FastExecutorBook/#/

未来

FastExecutor框架算是对自己一年多学习成果的一个总结,完成了自己一直想做的一些事,但是这并不是终点,后续会开始.NetCore的学习,对框架进行一个技术重构和功能补充,未来希望将工作流集成到框架中,做到可视化配置和流转,最后送上自己很喜欢的一句话:种一颗树最好的时间是十年前,其次是现在,祝好!

ASP.NET MVC快速开发框架FastExecutor开发全过程感受及总结的更多相关文章

  1. ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets(转)

    jqwidgets.js: 是一个功能完整的框架,它具有专业的可触摸的jQuery插件.主题.输入验证.拖放插件.数据适配器,内置WAI-ARIA(无障碍网页应用)可访问性.国际化和MVVM模式支持. ...

  2. ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets

    jqwidgets.js: 是一个功能完整的框架,它具有专业的可触摸的jQuery插件.主题.输入验证.拖放插件.数据适配器,内置WAI-ARIA(无障碍网页应用)可访问性.国际化和MVVM模式支持. ...

  3. ASP.NET MVC快速开发框架清新简洁界面设计,有兴趣可以模仿参考

    软件的用户体验很重要,要抓住用户的心,这篇博文分享一下最近一个项目的UI设计. 我做UI设计是从用户的角度出发的,要去揣摩用户的习惯. 大部分用户都是使用windows操作系统,所以我这套软件的风格也 ...

  4. MVC 快速开发框架

    ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets jqwidgets.js: 是一个功能完整的框架,它具有专业的 ...

  5. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  8. 【第二篇】ASP.NET MVC快速入门之数据注解(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. 源码分析 RocketMQ DLedger 多副本存储实现

    目录 1.DLedger 存储相关类图 1.1 DLedgerStore 1.2 DLedgerMemoryStore 1.3 DLedgerMmapFileStore 2.DLedger 存储 对标 ...

  2. MongoDB第一天(MongoDB的简介和安装)

    MongoDB 简介 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++语言编写.在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  3. Mybatis_多表关联查询_resultMap_集合对象_N+1方式实现

    mapper 层 提供 ClazzMapper 和 StudentMapper, ClazzMapper 查询所有班级信息, StudentMapper 根据班级编号查询学生信息. 在 ClazzMa ...

  4. 第4节:Java基础 - 必知必会(中)

    第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...

  5. Python抓取豆瓣电影top250!

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:404notfound  一直对爬虫感兴趣,学了python后正好看到 ...

  6. Python实现截图功能你肯定不会吧?【面试必学】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:CyborgLin python实现截图功能. windows环境下.需 ...

  7. 笔记||Python3之字符串

    字符串是Python中最常用的数据类型.我们可以使用引号('或''或''')来创建字符串. 三引号特点:可以多行,也可以多行注释. a = 'hello world' a = "hello ...

  8. 深入理解 Java 方法

    方法(有的人喜欢叫函数)是一段可重用的代码段.

  9. 从源码看Nacos的设计

    目录 客户端与集群的交互 数据同步 实例信息同步 服务集群信息 关于priv-raft协议 Nacos集群在k8s中的实践 这片博文来源于我在公司部门内的分享,我隐去了和公司项目相关的部分,重新整理, ...

  10. MapStruct 映射工具

    # MapStruct 映射工具  本篇主要讲解MapStruct 一款映射工具,只需简单的定义一个Mapper接口,在编译期间,MapStruct将生成此接口的实现,据说MapStruct性能最高是 ...