不用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社区网(我的网站,虽不是大型网站,但也实现了主题切换功能的哦!~)等,是需要多个网站主题的,当然我举的这两个网站他们都实现了多主题,比如:

京东默认主[……]

查看更多……

阿里云破纪录的背后:377秒是如何炼成的?

[公司新闻]阿里云破纪录的背后:377秒是如何炼成的?

 

只看楼主 更多操作楼主  发表于: 11-04

本文来阿里“飞天”团队

10月28日,Sort Benchmark官方宣布,阿里云用377秒完成了100TB的数据排序,打破了此前Apache Spark创造的1406秒纪录。在含金量最高的GraySort和MinuteSort两个评测系统中,阿里云分别在通用和专用目的排序类别中创造了4项世界纪录。

消息一出,整个技术圈都沸腾了,特别是对云计算高度关注的互联网、计算机行业。阿里云打破世界纪录,再次点燃了大家对分布式计算的热情。同时,大数据、云计算的各种圈[……]

查看更多……

马化腾:转型要快,要坚决,要反对和避免恶性竞争

马化腾:转型要快,要坚决,要反对和避免恶性竞争

虎嗅注:自称一向“低调内敛”的马化腾在最新的一份全球最佳CEO排行榜中,综合排名全球第45位,财务表现排名第2位,也是中国唯一上榜的企业家。在《哈佛商业评论》对其专访中,马化腾从腾讯成功的因素、产品战略以及他的管理哲学三个维度阐释了他在移动互联网时代的诸多思考。


谈及成功,他将腾讯的成功归功于“集体的战略智慧、执行力以及自发的危机感”;谈及腾讯的核心战略“连接”,他表示,连接是一种能力,未来“会在底层加大支付、社交关系、O2O互动和信息分发等基础能力的研发”,与此同时,马化腾还详细的描述了腾讯两大产品QQ和微信的“连接器”效应;谈及管理,他认为“产品创新和企业管理要妥协宽容,要张弛有度”,并高度[……]

查看更多……

使用Akka.net开发第一个分布式应用

原文使用Akka.net开发第一个分布式应用

系列主题:基于消息的软件架构模型演变

 

既然这个系列的主题是”基于消息的架构模型演变“,少不了说说Actor模型。Akka.net是一个基于Actor模型的分布式框架。如果你对分布式应用还非常陌生,当别人在谈”分布式“、”云计算“等名词时你感到茫然,那么本篇文章将带你进行一次分布式开发之旅。

一、什么是Actor模型

Actor模型由Carl Hewitt于上世纪70年代早期提出并在Erlang语言中得到了广泛应用,目的是为了解决分布式编程中一系列问题。其主要特点如下:

  • 系统由Actor构成

  • Actor之间完全独立

  • 消息传递是非阻塞和异步的

  • 所有消息发送[……]

    查看更多……