如何实现N层架构,以Forums中完成修改密码是这样的:
页面层:ChangePassword.aspx, 主要是使用MasterPage:~/Themes/MasterPage.ascx来搭建页面的Layout,具体的功能是通过控件来实现的。
与之对应的(复合)控件:AspNetForums.Controls.ChangePassword,继承自控件SkinnedForumWebControl,主要实现Skin,因为Skin可以自定义,产生修改密码的页面要素:输入的TextBox,提交按钮等,产生相应的事件,调用逻辑层的具体方法。
逻辑层的类:AspNetForums.Components.User提供修改密码的业务处理ChangePassword(string password, string newPassword, string salt,bool isRequestFromPassport),这个方法才调用数据层的数据库操作,实现真正的修改密码。
数据库层的类:AspNetForums.Components.ForumsDataProvider是类的方法UserChangePassword,因为其是abstract类,在这里是子类AspNetForums.Data.SqlDataProvider来实现的。主要是为了实现支持多个类型的数据库。
博客介绍了在Forums中利用N层架构实现修改密码功能。页面层用MasterPage搭建Layout,通过控件实现功能;复合控件继承SkinnedForumWebControl,产生修改密码页面要素并调用逻辑层方法;逻辑层处理业务,调用数据层;数据层支持多类型数据库,实现真正的修改密码操作。
1936

被折叠的 条评论
为什么被折叠?



