- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
三层架构抽象工厂
三层架构+抽象工厂 三层架构的魔力 为什么使用三层架构?(传统设计中数据库的访问、业务逻辑及可视元素等代码混杂在一起造成的代码可读性差,耦合度高,维护难的情况) 在软件体系架构设计中,分层架构是最常见,也是最重要的一种架构。分层架构的提出,是软件开发思想的一个重大进步。它的出现,在很大程度上解决了软件开发中的强耦合问题,也为编写代码清晰、可维护性良好的系统提供了思想基础。 三层架构的魔力 软件体系架构设计中,分层思想是最常见的,也是最重要的一种思想。微软推荐的分层式结构一般分为三层,从下至上分为:数据访问层(DAL)、业务逻辑层(BLL)、表示层(UI)。区分层次的目的即为了“高内聚,低耦合”的思想。 表示层:包括网站的UI元素,并且包含管理访问者和客户的业务之间的交互的所有程序逻辑。该层使整个网站充满活性,而且这一层的设计方法对网站的成功至关重要。由于你的应用系统是一个WEB网站,因此表示层将由动态WEB页面组成。 业务逻辑层(Business Logic Layer):也称中间层,接受来自表示层的请求,并基于其包含的业务逻辑,向表示层返回一个结果。表示层中所发生的事件,绝大部分都会导致业务层被调用(除了那些表示层自己能够处理的事件,如简单的数据输入验证等)。例如,如果访问者进行一次商品收藏,那么表示层将调用业务层,说:“请将该商品放进我的收藏夹。”绝大多数情况下,业务层需要调用数据层,以获得响应表示层请求所需要的信息。 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。 分层结构优势 分层式结构究竟其优势何在? 1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准化; 5、利于各层逻辑的复用。 概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。一个好的分层式结构,可以使得开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。例如UI人员只需考虑用户界面的体验与操作,领域的设计人员可以仅关注业务逻辑的设计,而数据库设计人员也不必为繁琐的用户交互而头疼了。每个开发人员的任务得到了确认,开发进度就可以迅速的提高。 当然,任何事物有利也有弊。分层架构的一大缺点就是降低了系统的性能,因为本来直接完成的功能现在需要多次调用才能完成,自然使得性能下降。所以,分层架构可以说是以牺牲系统性能换取可维护性的手段。 实现步骤过程 1、创建Model,实现业务实体。 2、创建IDAL,实现接口。 3、创建SQLServerDAL,实现接口里的方法。 4、增加web.config里的配置信息,为SQLServerDAL的程序集。 5、创建DALFactory,返回程序集的指定类的实例。 6、创建BLL,调用DALFactory,得到程序集指定类的实例,完成数据操作方法。 7、创建WEB,调用BLL里的数据操作方法。 注意事项: 1、web.config里的程序集名称必须与SQLServerDAL里的输出程序集名称一致。 2、DALFactory里只需要一个DataAccess类,可以完成创建所有的程序集实例。 3、项目创建后,注意修改各项目的默认命名空间和程序集名称。 4、注意在解决方案里增加各项目引用。 各层间的访问过程 : 1、传入值,将值进行类型转换(为整型)。 2、创建BLL层的content.cs对象c,通过对象c访问BLL层的方法GetContentInfo(ID)调用BLL层。 3、BLL层方法GetContentInfo(ID)中取得数据访问层SQLServerDAL的实例,实例化IDAL层的接口对象dal,这个对象是由工厂层DALFactory创建的,然后返回IDAL层传入值所查找的内容的方法dal.GetContentInfo(id)。 4、数据工厂通过web.config配置文件中给定的webdal字串访问SQLServerDAL层,返回一个完整的调用SQLServerDAL层的路径给 BLL层。 5、到此要调用SQLServerDAL层,SQLServerDAL层完成赋值Model层的对象值为空,给定一个参数,调用SQLServerDAL层的SqlHelper的ExecuteReader方法,读出每个字段的数据赋值给以定义为空的Model层的对象。 6、SqlHelper执行sql命令,返回一个指定连接的数据库记录集,在这里需要引用参数类型,提供
文档评论(0)