Lose.zhang 发表于 2012-12-29 11:27:34

架构,改善程序复用性的设计~第六讲 我的系统结构~将所有可以抽象的项目进行抽象(大结局)

<div id="cnblogs_post_body">N层架构及各层之间的通讯标准
一 总体结构图
http://images.cnblogs.com/cnblogs_com/lori/201206/201206041357342052.gif
二 各个模块的介绍
通用项目模块Project.Common:它是对所有项目都公开的项目组合,主要提供一个与领域无关的通用功能的代码库
http://images.cnblogs.com/cnblogs_com/lori/201206/201206041357428652.jpg
核心项目模块Project.Core:它是针对某种构架方式(如LINQ To SQL作为底层架构)抽象出来的项目组合,它与领域无关
http://images.cnblogs.com/cnblogs_com/lori/201206/201206041358006214.jpg
领域项目模块,它是具体的项目,如XXB项目,它本身也是一个N层架构方式,一般地,它的UI层会继承我们的Product.Core下的Web.Commons项目,而对应的Entity对应Entity.Commons项目,由于BLL层是针对某种特殊业务领域的,所以在Project.Core里没有出现BLL层的抽象。
以下是一个Demo项目的结构
http://images.cnblogs.com/cnblogs_com/lori/201206/201206041358097449.jpg
三 具体领域模块各层之间的通讯标准
由于 project.common和project.core是比较稳定的,而且对所有解决方案都是共用的,所以在这里它不是我们讨论的重点,我们主要说一下具体领域模块的各层间的通讯问题
领域模块总体图:
http://images.cnblogs.com/cnblogs_com/lori/201206/201206041358405608.gif 3.1 UI层与BLL层通讯
添加删除与更新操作统一使用实体类型,如果要返回信息,请使用统一的消息类
<div class="cnblogs_code">1 /// <summary>2 /// 插入商品3 /// </summary>4 VMessage AddProduct(Product entity);
页: [1]
查看完整版本: 架构,改善程序复用性的设计~第六讲 我的系统结构~将所有可以抽象的项目进行抽象(大结局)