ImageVerifierCode 换一换
格式:PPT , 页数:28 ,大小:594KB ,
资源ID:4196161      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4196161.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(静态网页设计教程(4搭建系统框架).ppt)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

静态网页设计教程(4搭建系统框架).ppt

1、静态网页设计教程 学习情境四,搭建系统框架,回顾2-1,三层结构都有哪三层? 上一章里我们学习了哪三种导航控件?,回顾2-2,string sql = “SELECT SubjectName FROM Subject“; SqlCommand command = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); SqlDataReader dataReader = command.ExecuteReader(); while (dataReader.Read( ) cboSubject.Items.Add

2、(dataReader“SubjectName“.ToString(); ,未关闭 Reader dataReader.Close();,未关闭连接 DBHelper.connection.Close(); DBHelper.connection.Dispose();,预习检查,模型层有哪些内容? 数据访问层一般写哪些方法?,本章任务,搭建网上书店的架构 实现书店的用户登录,本章目标,会在 ASP.NET 中使用三层结构。 能够实现三层结构下的用户注册和登录。,系统架构,三层结构 表示层 业务逻辑层 数据访问层,分层的理念:将相似的内容放到一起去处理,开发人员可以只关注整个结构中的其中某一层,

3、可以很容易的用新的实现来替换原有层次的实现,三层结构的经典案例:PetShop,PetShop4.0,宠物商店 微软展示.NET企业开发的范例。 与Sun的PetStore的商业竞争。 一个小型的电子商务案例。 体现了微软推广的开发思想和设计理念。 分22个项目,经典的系统,从设计的思想到最好的编码,学习参考价值很高。,演示:PetShop4.0,PetShop4.0架构简介,ASP.NET Web,BLL,DALFactory,OracleDAL,SQLServerDAL,IDAL,Model,表示层,业务层,数据层,典型的三层结构,搭建第三波网络书店的模型层,模型层 表示层需要访问实体对象

4、的属性值。 业务层需要通过实体对象处理业务逻辑。 数据层也需要通过实体对象读写数据库。 模型是数据载体。 命名 项目名:MyBookShopModels 命名空间:MyBookShop.Models 类名:图书表Books图书类Book 实体类通常冠以Serializable特性,以保证实体传输的可靠性,外键的处理,数据库中有主外键关系,模型层怎么表示? 比如用户表和状态表。 状态字段是用户表的外键。两种方式: 为实体类添加状态id属性,存储状态id。 为实体类添加状态属性,存储状态对象。,示例,用户类的模型 用户需要有登录名、密码、状态等属性 状态表存储状态名称 用户的状态属性使用状态对象,

5、public UserState UserState get return this.userState; set this.userState = value; ,处理外键的代码,Serializable() public class User /字段public User() /构造函数/常见属性public UserState UserState/用户状态-外键get return this.userState; set this.userState = value; ,小结,编写实体类UserRole并更新User类相关属性 类关系图如下,答案:UserRole类,数据访问层,数据访问

6、层 所有与数据库交互的操作 数据表的增、删、查、改操作 数据访问层不做逻辑判断 命名 项目名:MyBookShopDAL 命名空间:MyBookShop.DAL 类名:图书表Books图书数据访问类BookService,代码比较,比较两段代码 代码1 代码2 在每一个对象的数据库访问类中: 数据库连接反复出现 数据库连接打开和关闭反复出现 执行Sql语句的方法相似 返回记录集的方法相似,根据面向对象思想,是否可以减少这些重复劳动?,DBHelper类,我们将常用方法提取出来,作为DBHelper类该类包含了:,建立数据库连接,执行Sql的方法 (存储过程sql语句),返回记录集,返回Read

7、er,返回结果,创建数据访问层的类,创建UserService类 Create方法Retrieve方法Update方法Delete方法,bool AddUser(User user),IList GetAllUsers( ) User GetUserById(int id) IList GetUsersBySql(string sql),bool DeleteUserById(int id),bool UpdateUser(User user),增加一个用户的方法,public static bool AddUser(User user) string sql =“INSERT USERS (

8、loginid, loginpwd, name, address, phone, mail, userroleId,UserStateId)“ +“VALUES (LoginId,LoginPwd,Name,Address,Phone,Mail, RoleId,UserStateId)“;SqlParameter para = new SqlParameter new SqlParameter(“LoginId“,user.LoginId),;DBHelper.ExecuteCommand(sql, para);return true; ,组合SQL语句,参数赋值,调用DBHelper类中的方

9、法进行处理,小结,模型层为什么要标记为可序列化? 模型层的作用? 数据访问层的功能?编写User的数据访问类的查、改、删方法。,示例:User的数据库访问类,业务逻辑层,业务逻辑层 是表示层与数据访问层的桥梁, 负责逻辑的判断,业务处理、数据传递。 不在表示层访问数据库,数据更加安全。 命名 项目名:MyBookShopBLL 命名空间:MyBookShop.BLL 类名:图书表Books图书业务逻辑层类BookManager,用户登录的业务逻辑方法,public static bool Login(string loginId, string loginPwd, out User valid

10、User) User user = UserService.GetUserByLoginId(loginId);if (user = null)validUser = null;return false;if (user.LoginPwd = loginPwd)validUser = user;return true;elsevalidUser = null; /密码错误return false; ,表示层,表示层的设计给客户最直接的体验。 页面风格和布局,美观大方。 页面操作符合逻辑,讲究用户体验 。 注意风格统一。,表示层负责内容的展现和与用户的交互。 可以进行变量范围的验证。 不做业务逻

11、辑判断。 不做与数据库交互的处理。,用户管理模块,首先根据数据库创建模型层。 包括用户的实体类以及相关联的类。 创建数据访问层用户管理类。 包括增删查改方法。 设计相关页面,并编写事件代码。 新用户注册。 用户登录。 用户信息修改。 创建业务逻辑层处理类。 根据需要,添加相关方法。,示例1,用户登录 创建页面。 编写事件处理代码,包括验证输入。 创建业务逻辑层方法,调用数据访问层相关方法处理。,演示示例:用户登录,用户注册的确认事件代码, User user = new User(); user.LoginId = this.txtLoginId.Text; user.UserState =

12、new UserState(); user.UserState.Id = 1; if (UserManager.AddUser(user) this.ltMain.Text = “alert(注册成功!请继续购物 ); window.location=/default.aspx“; else this.ltMain.Text = “alert(用户名已使用!请重新选择!) “; ,实例化User类,对类相关属性进行赋值,默认值,硬编码,业务层进行相关判断和处理,弹出脚本提示 小技巧:在控件上输出脚本,小结,编写图书模块相关实体类和数据层、业务层的类。 图书有id、作者、标题、分类、出版社、描述、ISBN(简化)。 出版社有id、名称。 分类有id、名称。 编写图书、出版社、分类的实体类。 编写图书的数据层增删查改方法。 编写图书业务层的查询所有的方法。,演示示例:图书模块相关类,总结,数据访问层常见的方法有哪几种? 页面要显示一个表的内容,可否直接使用ADO.NET连接数据库,为什么? 业务逻辑层的方法来自哪部分的需求?,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报