基于.Net的架构设计之七
摘要:三、实体层实体对象通常是将底层的关系数据记录,表述为上层的数据对象,这一层次最主要的职责在于关系数据和实体之间的相互转换及实体的验证。从架构角度来讲我们可以通过下面的一些措施来帮助程序员开发:1.开发实体对象基类,实现数据转换及验证框架,开发实体基类时我觉得至少要考虑以下几点: a.提供缺省构造方法以及通过标记实体属性映射,来实现从IDataReader\DataRow\其他对象来填充数据实体的构...
阅读全文
基于.Net架构设计之六
摘要:二、数据访问层对于数据访问层,为了方便在不同数据库产品之间的切换,我觉得最好仅是对数据库过程的简单包装,并通过指令配置文件来完成上层包装代码和底层数据库相关代码的分离,在架构中我们可以考虑以下措施来帮助开发人员:1.编写数据访问对象基类,在基类中完成一些通用过程,如数据库链接对象、指令对象的加载、解析、缓存等等。2.开发生成模板,自动产生底层存贮过程的包装,建议生成的项目文件如下:其中*DataA...
阅读全文
基于.Net的架构设计之五
摘要:从前面的初步分析来看,构建一个企业级应用系统是复杂而烦琐的,甚至让普通的程序员望而却步,但作为系统架构师却不得不考虑系统的方方面面,并且通过系统架构来控制风险,降低他们的编程门槛,以下是我作为系统架构师对各个开发层次中一些思考,希望大家补充指正:一、数据持久层我一直认为数据持久层的规划是企业级应用是否成功的关键点之一,在ERP实施上,有人说三分程序七分数据,我觉得这对于大型的企业级应用来说也是成立...
阅读全文
基于.Net架构设计之四
摘要:针对前面提到的一些应用场景,我们应该如何利用.Net平台来搭建基础架构呢?首先我们先详细的分解一下业务场景,将应用分层,然后针对每个层次我们来分析一下,系统架构应该作些啥。上面表述的是订单处理的部份场景,订单的提交可以通过在线网店,也可以通过客服系统,而作为基础功能模块的即时消息服务在多个业务模块中被消费。图中箭头方向表示依赖或调用方向,红色箭头表示服务调用,粉色块表示可能的独立部署单元,蓝色块表...
阅读全文
基于.Net架构设计之三
摘要:下面以一个假想的在线网店部份用例为例,列举常见的企业级应用场景网店中有大量的商品信息及图片,通常用户登录网站后会用大部份时间来查看或检索产品,然后再通过在线下单系统生成订单,目前该网店的日营业额在百万元人民币左右,估计未来一段时间内营业额会呈指数级增长,并且有近一半的订单是集中在晚上的8点到12点之间下达,为了不影响销售,要求系统在升级及维护中不要停止对外服务。另外除了在线下单外,也允许客户通过客...
阅读全文
基于.Net架构设计之二
摘要:我眼中的.Net平台.Net开发平台的历史已经有好多年了,从1.0,1.1,2.0,3.0/3.5到明年的4.0,她已经从一个初步的设想及尝试转变成了一个成熟的开发框架。它的每次发布都会带给我们一些惊喜,从1.0/1.1的Ado.net/Asp.net,2.0的泛型/Asp.net2.0,3.0/3.5的WCF/WPF/LINQ/Lamda/Asp.net Ajax,到4.0的WF/Asp.Net...
阅读全文
基于.Net的架构设计之一
摘要:我认为设计一个好的系统架构至少要考虑以下几点:0.限定系统架构应用边界满足一切应用场景的系统架构就是没有架构,想一开始就设计一个大而全的系统架构是高风险的,因此最好的解决方案就是针对不同的应用场景准备不同的小范围架构,然后通过一定时间的熟悉、沉淀、积累、再思考、重构与组合之后,再慢慢扩展成满足较大应用场景的架构,我现在使用的架构,它最开始就是从仅仅解决OR映射的数据访问层框架开始的,经过十多年的发...
阅读全文