随笔分类 - [20]DesignAnalysis设计分析
-
数据访问层的改进以及测试DOM的发布
摘要:数据访问层的改进以及测试DOM的发布在上一篇我们在宏观概要上对DAL层进行了封装与抽象。我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了;第二,使我们的DAL层能够支持一切数据访问技术,如Ado.net,EF,linq To Sql,这一点我们实现的不是很完美,... 阅读全文
-
NET里简易实现AOP
摘要:NET里简易实现AOP.NET里简易实现AOP前言在MVC的过滤器章节中对于过滤器的使用就是AOP的一个实现了吧,时常在工作学习中遇到AOP对于它的运用可以说是很熟练了,就是没想过如果自己来实现的话是怎么实现的,性子比较犟硬是没想明白,茶不思饭不想的,主要问题就是卡在了怎么能拦截用户调用,如果可以解... 阅读全文
-
数据访问层的封装与抽象
摘要:接上一篇我们来对数据访问层进行封装与抽象。在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供相应的支持。所以今天我们要做的事情有两件,第一,定义我们的... 阅读全文
-
瞬时响应之网站的高性能架构
摘要:瞬时响应之网站的高性能架构一、网站性能测试(1)性能测试指标:①响应时间;②并发数;③吞吐量;④性能计数器;(2)性能测试方法:①性能测试;②负载测试;③压力测试;④稳定性测试;(3)性能优化策略: ①性能分析:检查请求处理各个环节的日志,分析哪个环节响应时间不合理,检查监控数据分析影响性能的因素... 阅读全文
-
Web层后端权限模块
摘要:从零开始编写自己的C#框架(19)——Web层后端权限模块 不知不觉本系统写了快三个月了,最近写页面的具体功能时感觉到有点吃力,很多地方如果张嘴来讲的话可以说得很细,很全面,可写成文字的话,就不太会写了,有些地方想讲得清晰的话,得用多几倍的文字+实例+变化中的图片才能表达得清楚,而写这些又太费时间... 阅读全文
-
DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?
摘要:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?阅读目录:问题根源是什么?《领域驱动设计-软件核心复杂性应对之道》分层概念Repository(仓储)职责所在?Domain Model(领域模型)重新设计Domain Service(领域服务)的加入Messa... 阅读全文
-
单点登录的实现原理
摘要:单点登录的实现原理单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。我将以我所遇到的应用环境以及在其中所经历的各个阶段与大家分享,若有不足,希望各位不吝赐教。一... 阅读全文
-
ASP.NET MVC SSO单点登录设计与实现
摘要:ASP.NET MVC SSO单点登录设计与实现实验环境配置HOST文件配置如下:127.0.0.1 app.com127.0.0.1 sso.comIIS配置如下:应用程序池采用.Net Framework 4.0注意IIS绑定的域名,两个完全不同域的域名。app.com网站配置如下:sso.co... 阅读全文
-
NServiceBus 概况
摘要:NServiceBus 概况NServiceBus 概况NServiceBus 被设计用来组合面向业务的服务,它并不是用来替代诸如 WCF 一类的RPC技术。NServiceBus 不只包含通信模块,像其他成熟的SOA和DDD项目一样,它使用了多种组合的方法和技术。本篇文章探讨了 NServiceB... 阅读全文
-
[Framework Design Guideline]
摘要:[Framework Design Guideline]基础知识最近在读, 感觉其中Framework的许多设计经验同样适用于业务类库的设计,甚至对于服务的设计也同样适用。日常的设计和编码中,书中提到的许多原则也有所领悟,但一直无法系统的组织起来。所以此文把这些指导经验都整理起来,一作为备忘,二也是... 阅读全文
-
微服务
摘要:微服务-分解应用程序从而实现更好的部署特性及可伸缩性本文是我翻译INFQ上的一篇文章。作者Chris由简入深的讲解了微服务的来龙去脉、使用场景、优势劣势、以及现有技术栈向微服务架构的重构步骤。是一篇微服务主题的不可多得的好文。原文地址:http://www.infoq.com/articles/mi... 阅读全文
-
大型网站架构演化
摘要:大型网站架构演化一、大型网站系统特点 (1)高并发、大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,网络情况复杂:网络运营商 (5)安全环境恶劣:黑客的攻击 (6)需求快速变更,发布频繁:快速适应市场,满足用户需求 ... 阅读全文
-
自定义MVP .net框架
摘要:一个自定义MVP .net框架 AngleFrame摘要:本篇是本人在完成.net平台下一个项目时,对于MVP框架引发的一些思考,以及开发了一个小型的配置型框架,名字叫作AngleFrame。这个项目属于前端桌面管理系统的一部分,最终要集成进去。关键词: .net,Framwork,MVP,框架... 阅读全文
-
Web应用和RESTful架构
摘要:Web应用和RESTful架构单页Web应用概述单页Web应用并不是突然诞生的一门新技术,而是web展示的一种新的尝试。它将所有的动作局限于一个Web页面,在加载站点首页的时候就加载站点需要的JavaScript和CSS。单页Web应用不会随着用户的操作而重新加载页面或者进行页面跳转,而是利用默默执... 阅读全文
-
系统架构设计
摘要:自己在项目设计和开发的一些总结系统架构设计用最简单易懂的代码组织业务逻辑和实现系统功能。在一个程序员的成长过程中,会出现写的代码先简单,后复杂,最后又简单的一个过程。在最开始写的简单的时候,是因为能力达不到,只能写一些简单的代码,考虑不到那么多的扩展。例如在弹出对话框的时候,直接按钮点击弹出对话框即... 阅读全文
-
分布式中的异步通信
摘要:我也要谈谈大型网站架构之系列(4)——分布式中的异步通信 我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发,做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设计专注于html的制作,让后端开发人员更加专注... 阅读全文
-
订单系统中并发问题和锁机制的探讨
摘要:订单系统中并发问题和锁机制的探讨问题由来 假设在一个订单系统中(以火车票订单系统为例),用户A,用户B都要预定从成都到北京的火车票,A、B在不同的售票窗口均同时查询到了某车厢卧铺中、下铺位有空位,中铺设为1、下铺设为2。用户A正在犹豫订中铺还是下铺,这时用户B果断订购了下铺。当用户A决定订下铺时,系... 阅读全文
-
单元测试和测试驱动开发
摘要:单元测试和测试驱动开发的一些常见问题总结此文收集一些平时使用单元测试碰到的问题和解决办法,供大家参考。如何检查返回的集合类是否符合期望?Microsoft UnitTestFramework如果需要元素的顺序一致,可以使用CollectionAssert.AreEqual;如果不需要考虑顺序,可以使... 阅读全文
-
编码规则设计实现
摘要:通用的业务编码规则设计实现一、背景每一个企业应用中不可避免的都会涉及到业务编码规则的问题,比如订单管理系统中的订单编号,比如商品管理系统中的商品编码,比如项目管理系统中的项目编码等等,这一系列的编码都需要管理起来,那么它们的应该如何编码的,具体的编码规则我们很多时候都是直接写在程序当中常用的的编码有... 阅读全文
-
系统分层演变
摘要:系统分层演变这是一个从组件和分层角度的系统架构迭代过程的例子,选择这个角度因为这个角度最直观,也最具表现力,这个例子并不完整,不过没有包含进来的部分并不影响这个例子就是了,原本是有说明各个组件之间的调用关系,通讯方式什么的,不过感觉那个图看着乱,而且我觉得只要能说明问题就可以了;另外一点就是公司今年... 阅读全文