基于.net搭建热插拔式web框架(实现原理)

第一节:我们为什么需要一个热插拔式的web框架?

  1. 模块之间独立开发

    假设我们要做一个后台管理系统,其中包括“用户活跃度”、“产品管理”、"账单管理"等模块。每个模块中有自己的业务特性,这些模块都与具体业务高度耦合,很难由一个团队开发完所有模块。这样看来,由数据事业部的同事来开发“用户活跃度”模块,产品事业部的同时来开发“产品管理"模块会显得更加合理。现在我们假定由不同团队开发不同业务模块,那么这些人如果共同维护同一个项目的话,这个项目会变得非常臃肿,直到最后牵一发而动全身,更不利于新技术、新思想的融入。这里也不排除有大牛可以提前把架构规划的很好,但对于创业公司及快速发[……]

    查看更多……

nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Windows程序员的事实)。

操作系统 API。操作系统发展到今日,几乎桌面应用的所有功能,都是基于系统API构建的。调用API和语言及技术无关,哪怕是使用汇编。例如(代码来源于网络,本地重新编译):

;我的第一个win32汇编程序
;一个经典的hello world !程序
;>>>>>>>>>>>>>>>>>>>>&gt[……]

查看更多……

微软的 JavaScript 引擎将很快支持 Asm.js

几年前 Mozilla 开发了 asm.js ,这是一个 JavaScript 的子集,可以让 JavaScript 代码执行更快速。知道今天 asm.js 的所有优化都是针对 Firefox 浏览器的,不过很快该技术也将得到微软最新的来自 Windows 10 的 Chakra JavaScript 引擎的支持。

微软今天宣布,对 asm.js 的支持是 10 个开发者最强烈要求的特性之一,因此 Chakra 团队决定实现它。Chakra 团队称:在过去数月我们密切研究了 asm.js 以及其相关技术,这是一项非常具有挑战性的工作,asm.js 相当于是可以在 Web 平台[……]

查看更多……

不用Unity库,利用.NET动态代理自己实现AOP

    AOP意为面向切面的程序设计,主要表现为对不同的代码逻辑进行隔离,从而降低不同业务逻辑之间的耦合性,AOP又理解为“横切”,可以在不改变原有实现的情况下,对代码进行拦截和扩展,如果原有设计像一个瓶子,AOP就相当于一个贴纸,是贴在瓶子外面的,而不是打开瓶盖从瓶口把实现放进瓶子里。

    .NET中实现AOP的第三方库有很多,这里不再阐述了,在这里我们主要用到了.NET中的动态代理技术,为了让大家更深入地理解,这里借用一下上一篇文章(不用Unity库,自己实现.NET轻量级依赖注入)中的例子,在上一篇文章中,我们自己实现了一个轻量级的依赖注入,在这[……]

查看更多……

对企业级应用开发的思考–分层

原文

    首先声明,本文并不是介绍什么是N层架构,然后给张分层图,最后来一堆代码结束。本文主要是对分层过程中常常让人感到困惑地方的思考,以及最近园子里面讨论异常激烈的一些问题的再讨论。本文从个人经验角度出发,努力尝试来解决这些困惑,欢迎拍砖,但,如果你进行人生攻击,我也只能在心里画个圈圈诅咒你一下!

开始

我们先从一幅大家眼熟能详的图开始:

这是应用开发人员最熟悉的N层架构图,其中:

  • 数据访问层:应用程序中全权负责与数据存储对话并持久保存和检索业务对象的层。通常,数据访问层包括所有的CRUD 方法与查询机制,使得业务逻辑层能够针对任何给定的条件检索对象。

  • 业务逻辑层:它[……]

    查看更多……

领域驱动设计实战—基于DDDLite的权限管理

        在园子里面,搜索一下“权限管理”至少能得到上千条的有效记录。记得刚开始工作的时候,写个通用的权限系统一直是自己的一个梦想。中间因为工作忙(其实就是懒!)等原因,被无限期搁置了。最近想想,自己写东西时,很多都是偏理论方面的,常常找不到合适的例子来论证自己的观点。于是用业余时间来写点东西。

园子中的权限管理系统有以下几种:

  1. 写的好的,界面NB的,但不开源,毕竟人家辛辛苦苦的劳动成果;

  2. 写的好的,也公开源码,但不公开数据库设计和一些流程设计,你得看着源码去猜字段去猜流程;

  3. 不定期讲源码和放截图的,丫的就是不放出项目的,这种同1,就是没事换个马甲来水点广[……]

    查看更多……

我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout

一、前言

之前的博客一直都还没写到框架的实现及权限系统,今天开始写我的权限系统,我以前做过的项目基本上都有权限管理这个模块,但各个系统都会有一些不太一样,有些简单点,有些稍微复杂一点,一句话,我们做的系统都离不开这个权限系统。所以网上很多人尝试做一个通用的权限系统,不评论他们做的怎么样,只是说在网上能找到的直接能用的应该不多,适用的并且能集成到项目中的就更少了,所以还是考虑自己做一个,不一定很通用,但足够自己用的权限系统。

二、需求分析

关于权限系统的文章网上多如牛毛,很多都是基于角色的访问控制(RBAC)设计。但是发现完全实现RBAC的理论其实不一定好用,我想做一款适合自己的。所以首先我们必要明确[……]

查看更多……

认识迅雷界面引擎BOLT

认识迅雷界面引擎

作者:刘智聪

 UI开发的新时代—-认识迅雷界面引擎

 第一部分:交互开发技术概述     软件产品的交互开发一直以来都不是一件令人愉悦的事情。首先,由于每个人编写的第一个图形应用程序就已经使用了一些交互开发技术,而且由于IDE工具的强大,容易总结出交互开发就是“拖拖控件,改改属性,写写响应”的经验,所以很容易被认为是没什么技术含量的工作。但实际上,这是一个特别不容易的工作:因为作为软件产品的脸面,上至公司老板,下至任意一个普通用户,大家都可以对你的工作成果拼头论足,并提出修改意见,而这些修改意见反应到产品的[……]

查看更多……

自定义视图引擎,实现MVC主题快速切换

原文自定义视图引擎,实现MVC主题快速切换

一个网站的主题包括布局,色调,内容展示等,每种主题在某些方面应该或多或少不一样的,否则就不能称之为不同的主题了。每一个网站至少都有一个主题,我这里称之为默认主题,也就是我们平常开发设计网站时的一个固定布局,固定色调,固定内容展示等构成一个默认的固定主题。单一主题针对一些小网站或网站用户群体相对单一固定还是比较适用的,但如果是大型网站或是网站的用户群体比较多而且复杂,如:京东博客园里的每个博客空间、文俊IT社区网(我的网站,虽不是大型网站,但也实现了主题切换功能的哦!~)等,是需要多个网站主题的,当然我举的这两个网站他们都实现了多主题,比如:

京东默认主[……]

查看更多……