WCF版的PetShop之二模块中的层次划分.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WCF版的PetShop之二模块中的层次划分

WCF版的PetShop之二:模块中的层次划分 一、基本的层次结构 我们接下来将目光聚焦到模块内部,看看每一个模块具体又有怎样的层次划分。我们将Infrastructures、Products和Orders目标展开,将会呈现出如图1所示的层次结构。 clip_image002 图1 从解决方案的结构看模块的层次结构 以Products模块为例,它由如下的项目组成: Products:对于整个应用来说,Products是最终基于该模块功能的提供者; Products.Interface: 模块提供给其他模块的服务接口,本项目被Products项目引用; Products.Service.Interface:模块客户端和服务端进行服务调用的WCF服务契约,Products项目最为WCF服务的客户端通过该接口进行服务调用; Products.Service:实现了上述服务契约的WCF服务,引用了Products.Service.Interface项目; Products.BusinessComponent:也可以称为业务逻辑层,实现了真正的业务逻辑; Products.DataAccess:数据访问层,在这里主要提供对数据库的访问; Products.BusinessEntity:提供的业务实体(BusinessEntity)类型的定义。一般来讲,业务实体和数据契约(DataContract)是不同的,前者主要对本模块,后者则对外,在这里为了简单起见,将两者合二为一。 从部署的角度讲,Products和Products.Interface部署与于Web服务器;Products.Service、Products.BusinessComponent和Products.DataAccess则部署于应用服务器;Products.Service.Interface和Products.BusinessEntity则同时被部署于Web服务器和应用服务器。整个层次结构大体上如图2所示。 clip_image004 图2 逻辑层次和物理部署 二、数据库设计 整个应用主要涉及4个表,其中3个用于存储业务数据(产品表、订单表和订单明细表),另一个用于存储简单的审核信息(审核表)。4个表的结构可以分别参考相应的SQL脚本。 产品表(T_PRODUCT) 1: CREATE TABLE [T_PRODUCT] ( 2: [PRODUCT_ID] [VARCHAR](50) NOT NULL, 3: [PRODUCT_CATEGORY] [NVARCHAR](128) NOT NULL, 4: [PRODUCT_NAME] [NVARCHAR](256) NOT NULL, 5: [PRODUCT_PIC] [NVARCHAR](512), 6: [PRODUCT_DESC] [NVARCHAR](800), 7: [PRODUCT_UNIT_PRICE] [DECIMAL](10,2) NOT NULL, 8: [PRODUCT_INVENTORY] [INT] NOT NULL, 9: 10: [VERSION_NO] [TIMESTAMP] NOT NULL, 11: [TRANSACTION_ID] [VARCHAR](50) NOT NULL, 12: [CREATED_BY] [NVARCHAR](256) NOT NULL, 13: [CREATED_TIME] [DATETIME] NOT NULL, 14: [LAST_UPDATED_BY] [NVARCHAR](256) NOT NULL, 15: [LAST_UPDATED_TIME] [DATETIME] NOT NULL 16: 17: CONSTRAINT [C_PRODUCT_PK] PRIMARY KEY CLUSTERED ( [PRODUCT_ID] ASC ) ON [PRIMARY]) ON [PRIMARY] 订单表(T_ORDER) 1: CREATE TABLE [T_ORDER] ( 2: [

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档