• MVC Bootstrap极速开发框架


    ASP.NET MVC Bootstrap极速开发框架

    前言

    每次新开发项目都要从头开始设计?有木有一个通用的快速开发框架?并且得是ASP.NET MVC  And Bootstrap?数据库不要手工创建?框架对未来业务支持的扩展性好?这么简单的功能还需要一天搭建基础环境?能不能只关心我所需要的业务?

    有这样的一个项目,基于ASP.NET MVC、EntityFramework、Memcached、Bootstrap的快速项目开发框架,只需3秒钟即可创建一个带有简单用户管理的项目。

    一键安装

    懒人一键安装包下载地址,双击“install.bat”批处理,即可将模板项目加入到VS项目模板列表。

    极速创建

    只需单击一个“确定”按钮即可创建一个带有简单用户管理、登陆功能的后台程序,如下图所示:

     运行效果

    登陆界面

    管理后台主界面

    用户管理

    自动创建的数据库

    导出自己的项目模板

    导出项目模板示例截图:

    源码亮点

    服务接口层,彻底拒绝BLL的垃圾冗余代码

    服务抽象基类

    复制代码
    public abstract class ServiceContext : IDisposable
        {
            /// <summary>
            /// 数据库操作上下文
            /// </summary>
            public readonly DefaultDbContext DbContext = new DefaultDbContext();
    
            /// <summary>
            /// 缓存组件
            /// </summary>
            public CacheContext CacheContext { get; private set; }
    
            /// <summary>
            /// 动态设置缓存对象的新实例
            /// </summary>
            /// <param name="cacheContext">缓存实例对象</param>
            public void SetCacheInstance(CacheContext cacheContext)
            {
                //先释放现有的缓存组件
                if (CacheContext != null)
                {
                    CacheContext.Dispose();
                    CacheContext = null;
                }
    
                //初始化缓存组件新的实例
                CacheContext = cacheContext;
            }
    
            public void SetCacheInstance(Type cacheContextType)
            {
                if (cacheContextType == null)
                {
                    throw new ArgumentNullException("cacheContextType");
                }
    
                if (!typeof(CacheContext).IsAssignableFrom(cacheContextType))
                {
                    throw new ArgumentException(
                        string.Format(CultureInfo.CurrentCulture, "该类型 {0} 必须继承自抽象类CacheContext", cacheContextType),
                        "cacheContextType");
                }
    
                try
                {
                    CacheContext = Activator.CreateInstance(cacheContextType) as CacheContext;
                }
                catch (Exception ex)
               {
                    throw new InvalidOperationException(
                            String.Format(
                                CultureInfo.CurrentCulture,
                                "创建抽象类 CacheContext 的实例 {0} 失败",
                                cacheContextType),
                            ex);
                }
            }
    
            public void Dispose()
            {
                if (DbContext != null)
                {
                    DbContext.Dispose();
                }
    
                if (CacheContext != null)
                {
                    CacheContext.Dispose();
                }
            }
        }
    复制代码

    运行过程中可以动态切换的缓存组件

    服务接口层的具体业务实现

    对new关键字有洁癖?深痛恶绝?

     一切接口实现实行配置化

     

    任何异常休想逃脱 

    守株待兔

    总结

    项目的基本框架给你提供了快速的入门,更NB的设计还需要你的进一步想象发挥。

    源码地址:https://github.com/smartbooks/QuickBootstrap

  • 相关阅读:
    关于JS中变量提升的规则和原理的一点理解(二)
    JS 引擎的执行机制
    关于遍历对象的属性的一点新认识,如何只遍历对象自身的属性
    【转】 CSS十问——好奇心+刨根问底=CSSer
    【转】彻底理解js中this的指向,不必硬背。
    【转】 Git——如何将本地项目提交至远程仓库
    博客园的第一篇文章
    《深度学习之kaggle》:六、没有预训练的YOLO5X训练方式小改,准确率小幅提升
    《深度学习之kaggle》:五、没有预训练的YOLO5X训练完毕
    Webdriver如何解决页面元素过期:org.openqa.selenium.StaleElementReferenceException: Element not found in the cache
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3815733.html
Copyright © 2020-2023  润新知