广东科学技术职业学院
计算机工程技术学院(软件学院)
毕 业 设 计
题目:.NET平台的分层架构与设计模式应用研究
专业: 软件技术 学生姓名: 张炳东
班级:08软件开发3班 学号: 0104080745
指导教师姓名: 李建青 职称: 讲师
2011年2月
广东科学技术职业学院计算机工程技术学院 ( 软件技术 )专业毕业设计任务书
填表日期: 年 月 日 填表人:
课题 .NET平台的分层架构与设计模式应用研究 李建青 职称 讲师 课题小组人数 5 班别 08软开3 指导教师 开题 情 况 设 计 任 务 及 指 标 学生 在该设计中具体完成的工作 审核意见 指导教师(签章): 主任(签章): 年 月 日 年 月 日
指导教师评语: 指导教师评分: 指导教师签名: 年 月 日 答辩委员会对毕业设计的评语和成绩评定决议: 答辩委员会: (签章) 答辩委员会评分: 主任: 年 月 日 院长评分决议: 院长: (签章) 年 月 日 .NET平台的分层架构与设计模式应用研究
一、绪论........................................................................................................................................... 6
1.1 B/S系统概述 ...................................................................................................................... 6 1.2 分层架构概述 ................................................................................................................... 7 1.3 设计模式概述 .................................................................................................................... 8 1.4 研究背景 ............................................................................................................................ 9
1.4.1 .NET平台分层架构的现状及可研究性 ................................................................ 9 1.4.2 研究目的 ............................................................................................................... 10 1.4.3 研究方法 ............................................................................................................. 10
二、关键性原则及总体架构......................................................................................................... 11
2.1 关键性原则..................................................................................................................... 11
2.1.1 分层架构逐渐调用原则及单向调用原则 ......................................................... 11 2.1.2 单一职责原则 ..................................................................................................... 11 2.1.3 开放-封闭原则 ................................................................................................... 11 2.1.4 依赖倒转原则 ..................................................................................................... 12 2.1.5 迪米特原则 ......................................................................................................... 12 2.2 总体架构 ........................................................................................................................ 12
2.2.1层次划分 .............................................................................................................. 12 2.2.2 职责划分 ............................................................................................................. 12 2.2.3 模块划分及交互设计 ......................................................................................... 13
三、关键性构件及各层次实现..................................................................................................... 14
3.1 实体的识别及数据库设计............................................................................................. 14
3.1.1识别实体 .............................................................................................................. 14 3.1.2 数据库设计 ......................................................................................................... 14 3.2 实体类设计..................................................................................................................... 17
3.2.1 实体类概述、作用及设计目标 ......................................................................... 17 3.2.2 实体类的设计方案及其比较 ............................................................................. 18 3.2.3 实体类的实现 ..................................................................................................... 18 3.3 接口设计 ........................................................................................................................ 18
3.3.1 接口概述及其作用 ............................................................................................. 18 3.3.2 数据访问层接口的设计 ..................................................................................... 19 3.3.3 业务逻辑层接口的设计 ..................................................................................... 20
四、三层架构中常用的设计模式................................................................................................. 21
4.1 依赖注入与控制反转 ..................................................................................................... 21 4.2 Abstract Factory模式在三层架构的应用 ................................................................ 23 4.3 三层架构中的外观模式(Facade) ............................................................................. 24 致谢 ................................................................................................................................................ 25 [参考文献] ...................................................................................................................................... 25 附录一:代码摘要 ......................................................................................................................... 26
用户实体类:BookStoreModels.Users.cs ............................................................................. 26 用户数据访问层接口:BookStoreIDAL.IUsers.cs ............................................................... 28 用户业务逻辑层接口:BookStoreBLL.Users.cs .................................................................. 30
抽象工厂类:BookSoreDALFactory.AbstractDALFactory.cs .............................................. 33
[摘 要] “编程是一门技术,更加是一门艺术[6]”。在传统的系统设计中,
将对数据库的访问、业务逻辑及可视元素等代码混编。这样的不但代码风格不美观,所写的程序更是可读性差,耦合度高,不容易维护,灵活性差,不容易扩展,更谈不上复用。为了解决这个问题,有人提出了N层架构思想,即将各个功能块明确分开,放置在独立的层中,各层之间通过协作来完成整体功能。
本文只是以网上购物为例,结合分层架构中常用的设计模式对.NET平台上的分层架构进行深入的研究和探讨,以期其总结出的理论能给.NET平台的开发人员一个指导性作用。
[关键词] .NET,分层架构,设计模式
[Abstract]”Programing is a technology ,I consider it as an art
[6]” .In traditional system designing , Database Access , Business Logic and visual elements are usually combined together .In this case , not only the code written in the program is unreadable and high coupling ,but also is not easy to maintain and extend ,inflexibility and much less to reconstruction . To solve this issue , Multi-Layers Architecture was proposed . In this architecture , different functions are separated into different layers , which can cooperate with each other to achieve the whole function .
Taken a system of shopping online for example , this paper combine with some design patterns in common usage on Multi-Layer Architecture to present a deep research to the Multi-Layer Architecture on .NET platform ,and hopes to get some useful conclusions to guide the developers on .NET platform.
[Key Words] .NET , Multi-Layer Architecture , Design Pattern