zoukankan      html  css  js  c++  java
  • [转]ASP.NET MVC Bootstrap极速开发框架

    本文转自:http://www.cnblogs.com/smartbooks/p/3814927.html

    前言

    每次新开发项目都要从头开始设计?有木有一个通用的快速开发框架?并且得是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

    深入沟通?咱进群 229853793 交流。

  • 相关阅读:
    Windows 科研软件推荐
    有关Python 包 (package) 的基本知识
    《Using Python to Access Web Data》Week4 Programs that Surf the Web 课堂笔记
    Coursera助学金申请模板
    《Using Databases with Python》 Week2 Basic Structured Query Language 课堂笔记
    Jupyter 解决单个变量输出问题
    解决 pandas 中打印 DataFrame 行列显示不全的问题
    《Using Python to Access Web Data》 Week3 Networks and Sockets 课堂笔记
    缓存击穿及解决方案
    jvm垃圾收集器
  • 原文地址:https://www.cnblogs.com/freeliver54/p/4565347.html
Copyright © 2011-2022 走看看