软件框架设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件框架设计 ? 一、优秀的框架的特征1.重用 (1)为了避免重复劳动,为了降低成本,我们希望能够重用之前的代码、之前的设计。重用是框架实现中最为核心的目标,重心中的重心。提高复用度是框架的首要目标。(2)层次分明,高度组件化,在框架中的各个部件高度独立,可拆可组(任意拆卸,任意组合),着力通用。(3)部件细化,设计精巧,运行高效,内存占用低。(4)耦合度低(可拆可组)2.高效 不论是什么系统,我们都希望架构是高效的。3.安全 运行安全稳定【可以通过完善TDD测试机制来保障】4.可拓展 我们需要架构具有可拓展性,以适应未来可能的变化。5.简明 一个复杂的架构不论是测试还是维护都是困难的。我们希望架构能够在满足目的的情况下尽可能的简单明了。【但是简单明了的含义究竟是什么好像并没有一个明确的定义。例如:使用模式能够使设计变得简单,但这是建立在我熟悉设计模式的基础上。对于一个并不懂设计模式的人,他会认为这个架构很复杂。】6.透明 把过多的实现细节隐藏起来,仅把需求的接口呈现出来(具体的实现对使用框架的开发者来说就是透明的)。这样就提高了使用者的效率,降低了学习的门槛。二、设计具体指导原则1、概要框架总体功能目的2、对框架总体功能目的进行细化,分层(层次之间相对独立,互不干涉),仔细斟酌,理清层次之间的依赖关系(如,核心层,中间层,应用层)。*核心层:处于最低层,不依赖于框架中的其它层; 数据访问层指导 概览 这一章主要描述设计数据访问层时要注意的主要原则。它们覆盖了设计数据访问层遇到的通常问题及错误。下面的图表展示了数据层怎样嵌入一个通用的应用架构。 (cnblog我的图片一直上传不了,报Remote server Error,只能使用网络图片了) 数据访问层组件 l数据访问层组件。数据访问层组件将访问底层存储介质的必要方法抽象出来。将数据访问功能集中起来,可以使应用程式便于配置和维护。 l Data Helpers/Utilities。Helper和Utilities功能帮助操纵,转变和获取数据。他们由一些特别的类库组成以增强数据访问性能以及减少逻辑组件和服务代理的开发要求。 l服务代理。当业务组件必须将功能通过外部服务暴露时,你可能需要创建程式管理通信服务所需要的协议。服务代理将你的程式从调用不同的服务中分离出来,并且提供额外的服务,如服务的数据格式和你的应用程式需要的格式之间的映射。 方法 正确的设计数据层可以减少程式部署后的开发和维护工作。这章会简要的概述一个设计访问层有效的方法。当设计数据层时使用下面的方式: 1.创建一个总体的设计。 A.确定数据源要求。 B.确定数据访问方式。 C.选择怎样映射数据结构到数据源。 D.确认处理数据源错误时的策略。 E.确认怎样连接数据源。 2.设计你的数据访问层组件。 A.列举你要访问的数据源。 B.决定每一个数据源的访问方式。 C.确认是否需要Hlper组件以简化数据访问组件开发和维护。 D.确认相关的设计模式。例如,考虑使用表格数据,查询对象,Repository,以及其它模式。 3.设计你的数据访问层Helper组件。 A.识别可以从数据访问组件中拿出来通用的功能以重用。 B.研究可用的Helper组件。 C.考虑为连接字符串,数据源认证,监视以及异常处理设计自定义的Helper组件。 D.考虑实现数据访问监视和测试你的Helper组件。 E.考虑实现你的Helper组件安装和日志。 4.设计服务代理。 A.使用合适的工具以添加引用。生成一个代理和数据类来代表服务中的数据契约。 B.确认服务怎样使用。对于大多应用程式来说,最好在业务层和数据访问层之间使用一个抽象层,这样会提供一个一致的接口而不考虑数据源。对于小的应用程式来说,业务层或者表示层,可以直接访问服务代理。 设计原则 下面的设计原则包括了设计数据层时应该考虑的不同方面。章节的剩余部分会提供给你选择合适的技术和设计模式的详细信息。 l选择数据访问技术。合适的数据访问技术选择依赖于你处理的数据类型,以及你怎样操纵程式数据。特定的技术会适用特别的场景。下面的部分讨论了所选择的数据访问技术的好处以及缺点。 l使用抽象以实现和数据访问层松耦合的接口。这个可以通过定义接口组件来完成,如众所周知的输入和输出Facade,可以将请求翻译为层组件可以理解的信息。另外,你可以定义接口或抽象基类,以被组件实现。 l考虑稳固的数据结构。如果你要在数据访问层处理基于Table的实体,考虑使用DTO来帮助你把数据转换为统一的结构,DTO鼓励使用粗粒度的操作,以使数据在不同的边界层移动。 l用数据访问层封装数据访问功能。数据访问层隐藏了访问数据源的详细信息,它用来管理连接,生成查询,以及映射程式实体到数据源结构。数据访问层的调用者使用自定义对象,Dat

文档评论(0)

lxm + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档