DDD架构
摘要:这是个自己总结的架构,半领域驱动。实际项目结构:1.Sample.Web:表示层2.Sample.App:应用程序层3.Sample.Core:业务逻辑层4.Sample.Impl:各个具体实现5.Frameworks:常用组件图表示层代码:1.NewsApplicationnewsApp =newNewsApplication(this.contextUserId);a.new一个ApplicationLayer的News对象,传入当前用户ID2.PostNewsRequestrequest = GetUserInput();a.根据用户的输入,生成Request对象(如同消息一样,分Req
阅读全文
FFLIB 框架
摘要:FFLIB 框架Broker 之Master/Slave 模式 在FFLIB的两篇介绍中,已经介绍了FFLIB是基于Broker模式构建的框架,核心组件关系图如下: http://www.cnblogs.com/zhiranok/archive/2012/07/30/fflib_framework.html http://www.cnblogs.com/zhiranok/archive/2012/08/08/fflib_tutorial.html 这种情况,比较明显的瓶颈是Broker 只有一个。在Client 和 Service 节点不断增多的情况下,单个Broker 将...
阅读全文
BizTalk2010简介
摘要:绝大多数现代业务流程都或多或少地依赖于其它软件。尽管其中部分流程仅由单个应用程序支持,但其他许多业务流程都依赖于不同的软件系统。在许多情况下,已使用不同的技术在不同时间、不同平台上创建了此软件。若要使这些业务程序实现自动化,则需要连接不同系统。BizTalk 可以将不同的系统组合到有效的业务流程中,有效的解决企业应用集成的问题。 BizTalk支持如下两种方式的应用程序集成,即企业应用程序集成 (EAI)和企业对企业 (B2B) 集成; 企业应用程序集成(EAI)用于连接单个组织内的应用程序。图-1企业应用程序集成 (EAI) 企业对企业 (B2B) 集成,用于连接不同组织中的应用程序。图-2
阅读全文
ORM/IOC框架设计感悟
摘要:PureORM(暂未开源)是7月份开始的一个突发奇想,期间断断续续,都是利用晚上下班后和周末的一点时间开发出来的一个对象关系映射框架,后来根据自己的想法融入了IOC,在某个特性上同时也涉及到AOP的实现。所以已经不是纯粹的ORM,对于PureORM这个名字来说自然是不合适的,期间也换了不少名字,现在也不打算换了。整个框架的代码量不多,甚至可能比不上我在游戏里的一个比较大的功能模块。站在技术的角度上,软件产品追求的无非是两个方向,一是简单得明显没有缺陷,二是复杂到没有明显的缺陷。显然,前者境界更高一些,也应该是我们追求的方向。遗憾的是,PureORM是一个两头不到岸的个人作品。PreORM的功能
阅读全文
Adhesive框架系列文章--总体介绍
摘要:Adhesive框架是为了满足公司内部项目需要开发的一套基础框架。Adhesive这个单词是胶水的意思,这个名字有几层含义:1、框架其本身的组件像胶水一样相互配合,旨在为一个中型的互联网网站提供一套基于.NET 4.0的开发基础平台,实现灵活性、性能、伸缩性等。2、框架对微软提供的既有技术进行粘合和扩展使它们可以更好发挥作用,比如ADO.NET EF4、ASP.NET MVC3、.NET WCF等。框架基于.NET 4.0开发,可以用于ASP.NET (MVC)网站、控制台应用程序或Windows服务应用程序等,提供的主要功能包括:1、基础组件:Bootstrapper模式、本地配置服务、本地
阅读全文
分享基于EF+WCF的通用三层架构及解析
摘要:分享基于EF+WCF的通用三层架构及解析本项目结合EF 4.3及WCF实现了经典三层架构,各层面向接口,WCF实现SOA,Repository封装调用,在此基础上实现了WCFContext,动态服务调用及一个分页的实例。1. 项目架构图:2. 项目解决方案:在传统的三层架构上增加了WcfService(服务端),WcfClientProxy(客户端服务调用),及WcfExtension(一些扩展)3. Wcf Service的实现:工厂实现了RemoteServiceFactory(用于远程调用)和RefServiceFactory(本地引用调用服务层)生成客户端代理,都需要实现IServic
阅读全文
自然框架总体设计
摘要:【自然框架.重新开始】总体设计 好久都没写博客了,出去体验了一下人生,呵呵。 最近加入了一个团队,打算把自然框架重新设计一下,以适应更广阔的需求。 首先是UI。UI一直是弱项,这个不解释了,那么怎么办呢?当然是拿来主义,easyUI、extJs等都很成熟了,拿来用就好。他们都是依据json,所以自然框架打算引入json以便于适应。 另一个就是权限的易于操作方面。以前对于部门方面的权限需求比较模糊,因为做过的项目没有太过涉及部门权限。这一次团队所在的公司,对于权限要求非常的,恩,你知道的,呵呵。所以如果能够完全应对的话,那么自然框架的权限将进入更高境界。 先上个图,自然框架的整体思路。...
阅读全文
Model Driven Architecture
摘要:模型驱动架构 自从2001年被OMG(Object Management Group 国际对象管理集团)提出以后,"随风潜入夜,润物细无声",未见轰轰烈烈宣传,各大厂商却惊人一致地争相跟进,关于MDA的话题转眼之间在网络上也如火如荼地繁荣起来了。 为了实现MDA这一宏大构想,OMG制定了一系列的标准: UML:UML被MDA用来描述各种模型。它并不是为MDA而生,但是作为目前最为风行的建模语言,UML已经占据了全球建模语言领域90%的市场份额,成为了建模语言事实上的标准,因此OMG将它作为MDA技术的基础是自然而然的明智选择。它是MDA的基础,也是MDA最有力的武器。 MO
阅读全文
【翻译】防腐层:面向领域驱动设计的更为稳健的系统集成方案
摘要:本文翻译自领域驱动设计官方网站的一篇实践性论文,原文题为《IAnticorruption – A Domain-Driven Design Approach To More Robust Integration》,我觉得这篇论文写得很不错,实践性非常强,通过对一个真实项目的研究,并结合整个团队在项目实践上的经验,总结了领域驱动设计在系统集成方面的指导作用:通过防腐层的引入,改善现有的系统集成架构,并引导整个项目和团队实现可持续化发展。本文还隐喻了架构设计的重要性:合理的架构不仅能够很好地支持项目管理(反之亦然),而且还能够让开发和测试朝良性化方向发展,最终获得项目的巨大成功。为了方便大家的阅读
阅读全文
系统架构师
摘要:什么是系统架构软件架构的起源 软件中的系统架构,其实是从建筑行业中的架构设计参考过来的,但是软件中的系统架构又有很大的特殊性。特殊性表现在,软件的架构可以在设计完毕后,项目进行的过程中进行相应的变化,或者可以推到重来,但是建筑行业中却不能这么做。软件行业有着很大的变化性。什么是架构架构总体来说就是实现需求功能的较复杂组件的设计与不能精简的较复杂组件。ISO与IEEE对系统架构的定义:一致认为软件密集型系统的架构分为主要模块,组织模块与支撑模块3部分。系统架构的目标功能:功能上必须满足需求。可靠性:系统系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。可用性:系统必须可用。可维
阅读全文
架设内部yum服务器
摘要:yum(Yellow dog Updater, Modified) 是一个与apt类似的软件包管理器,在Fedora,Redhat,SUSE,CentOS等Linux发行版中采用。软件包管理器可以解决rpm的依赖管理问题,使得软件的安装、升级更加容易。yum使用中心仓库(repository)最为软件源,管理软件包,而各Linux系统通过yum的配置连接到这个源来获取软件包。Table of Contents1 理由2 规划3 架设4 使用1理由尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器,主要出于以下几点考虑:网络速度:访问互联网可能比较慢节省带宽:如果有大量的
阅读全文
Caliburn.Micro框架
摘要:Caliburn.Micro(多数人叫CM)是一个开源的MVVM开发框架,主要应用范围是WPF\Silverlight\WinPhone以Xaml为UI的开发框架.与众多的MVVM框架相比较.个人觉得CM是我用得最习惯最快捷的一个框架.让人的感觉到不会像微软的prism很大很臃肿,又不像MvvmLight轻巧到只有几个文件只能做简单的MVVM功能.与我一起用过CM的同事都说这个框架用起来很方便.直接实例对象然后放到一个WindowsManager的类或.Conductor<IShell>.Collection.OneActive继承类上的特定方法就可以与UI自动绑定(虽然用的是命名
阅读全文
一步一步学Mule ESB——(第二篇:Ajax篇)
摘要:一步一步学Mule ESB——(第二篇:Ajax篇)待完成功能使用Ajax请求向后端发送请求把网页的数据转换成请求的处理流使用XSL and Mule Transformers转换成GoogleAPI可以理解的格式创建一个Google API的拼写检查,处理网页输入返回XML数据到页面实施一个Jetty服务器在流程中创建工程创建工程ajaxflow,然后在ajaxflow.mflow中加入以下组件: 图:ajax请求流程添加和配置Ajax接口在ajaxflow.mflow中选择Global Elements: 图:选择全局元素点击Create,出现Choose ...
阅读全文
基于SQL Server 2008 Service Broker构建企业级消息系统
摘要:注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroker1、引言Microsoft 在SQL Server 2005引入了服务代理 (Service Broker 简称SSB) 为技术支持代理设计模式和面向消息的中间件 (MOM) 的原则。Service Broker在SQL Server 2008上得到完善, SQL Server Service Broker 为消息和队列应用程序提供 SQL Server 数据库引擎本机支持。这使开发人员可以轻松
阅读全文
.NET面向上下文、AOP架构模式(实现)
摘要:1.上下文概述上下文:其实就是一个逻辑上的业务、功能区域。在这个逻辑区域里可以有效的进行管理,算是一种制度的约束,也可以理解为某种范围类的数据共享。其实在很多应用框架中到处可以看见上下文的概念,包括.NET本身的设计就建立在这种思想上的。实例化的对象默认存在于系统中的默认上下文中,我们可以构建自己的上下文将对象在运行时进行合理的管理。在ASP.NET框架中比较经典的就是HttpContext上下文对象。所有的运行时对象都会逻辑归属到HttpContext上下文中来,如:我们可以使用Request、Response等对象访问HTTP处理的生命周期数据。在Remoting中跨AppDomin访问也
阅读全文
open source ESB and integration platform
摘要:http://www.mulesoft.org/1. 简介Mule ESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。Mule ESB支持集成现有系统而无论其底层采用何种技术,如JMS、Web Services、JDBC、HTTP以及其他技术。2. 整体结构图 整体结构从上图可见,Mule通过Transports/Connectors与外围的异构系统连接,提供Routing(路由)、Transaction Management(事务管理)、Transformation(转换)、Message Broker(消息代理)、Trans
阅读全文
[Architecture Design] 系统边界设计
摘要:[Architecture Design] 系统边界设计做软件架构设计的时候,三层式体系结构是一个很常套用的分层模式。三层式体系结构中会将系统切割成为:PL(Presentation Layer)、BLL(Business Logic Layer)、DAL(Data Access Layer)。在这其中BLL是整个系统的系统核心,而DAL则是数据对象进出系统的系统边界。本篇文章讨论实作系统时,系统核心与系统边界之间的架构如何设计,才能提高内聚、减少耦合。我们先假设系统设计时,将BLL、DAL各自独立为一个DLL。而BLL里有Control对象操作Object对象、ObjectRepososit
阅读全文
Apworks框架中各种仓储实现的性能基准测试与结果对比
摘要:周末抽空简单地对Apworks框架所支持的三种仓储实现:Entity Framework、NHibernate以及MongoDB进行了性能基准测试,并对其结果进行对比。从对比的结果来看,MongoDB仓储的性能要远胜于其它两者。基准测试采用的是我在两年前开发的一个基于Visual Studio Unit Test Framework的基准测试程序(名为:Visual Benchmark),该程序可以设定基准测试引擎,并对测试结果进行图形化呈现。在本文末尾会简要地对此软件进行介绍,有兴趣的朋友不妨了解一下。单体测试的设计由于Visual Benchmark是基于Visual Studio Uni
阅读全文
GFS架构分析
摘要:Google文件系统(Google File System,GFS)是构建在廉价的服务器之上的大型分布式系统。它将服务器故障视为正常现象,通过软件的方式自动容错,在保证系统可靠性和可用性的同时,大大减少了系统的成本。GFS是Google云存储的基石,其它存储系统,如Google Bigtable,Google Megastore,Google Percolator均直接或者间接地构建在GFS之上。另外,Google大规模批处理系统MapReduce也需要利用GFS作为海量数据的输入输出。系统架构GFS将整个系统的节点分为三种角色:GFS Master(总控服务器),GFS Chunkserve
阅读全文
Web开发框架之权限管理系统
摘要:记得我在很早之前,开始介绍我的Winform开发框架和我的WCF开发框架之初,我曾经给出下面的视图,介绍我整理的一个框架体系,其中包含有WInform开发框架以及我的Web开发框架,由于前段时间一直忙于Winform开发框架的提炼以及优化,并统一整理了很多Winform开发框架以及WCF开发框架的随笔文章。随着我的Winform逐步完善,终于有时间来整理介绍我的Web开发框架的事宜了,下面先介绍一下我最新优化整理的Web开发框架之权限管理系统,其中这个权限管理系统可以说是集众多宠爱于一身了,除了一贯的和代码生成工具集成,可生成基础性的框架代码外,还整合Winform开发框架继承而来的多数据库支
阅读全文