当前位置:编程学习 > C#/ASP.NET >>

asp.net 三层 ,严重问题

想问个问题 我一直不太会 三层架构,用得不是得心应手,反而觉得三层很麻烦 我只是想写个 博客 练练手,可是发现写的过程中 有好多疑惑 下面是表结构,列出了必要字段 文章类别表: create table Category( @ID int, @Name nvarchar(50) ) 文章表: create table Article( @ID int, @Title nvarchar(200), @content ntext, @CID int -----------这个是文章类别ID ) 标签表: create table Tags( @ID int, @Name nvarchar(50) ) 文章 与 标签 对应关系表(说明:文章可以有多个标签): create table ArticleIDTagID( @ID int, @ArticleID int, @TagID int ) 类是这样设计的: class ArticleModel { int id; int cid; string title; string content; } class ArticleDAL { public int ADD(ArticleModel Article) //返回添加的文章的标识 ID public int DEL(int ID) public list<ArticleModel>GET() } class TagModel { int id; string Name; } class TagDAL { public int ADD(TagModel) //返回添加的标签的标识 ID ,如果数据库中已经存在此 名称 的 标签,返回 存在标签的ID } class ArticleIDTagIDModel { int id; int ArticleID; int TagID; } class ArticleIDTagIDDAL { public int ADD(ArticleIDTagIDModel) //添加文章 与 标签的 对应关系,如果存在 则不添加 } //这个文章的ADD 是不能完成 所有任务的,因为还有标签的添加,我是这样处理的 //我觉得 这样写到这里 有点 不合理,这个只是添加 文章 ,就已经如此 复杂了,修改的时候就更复杂了,不知道 博主 有什么好的意见建议??? //觉得用三层 麻烦 //下面的操作 我是在 ADDArticle.aspx.cs 里面完成的 protected void Page_Load(object sender, EventArgs e){ //可是添加文章的操作 过程中 是比较复杂的 title =Request.Form["Title"]; cid = Request.Form["Cid"]; int Cid=Convert.ToInt32(cid); content = Request.Form["Content"]; string Tags=Request.Form["Tags"]; //获得文章拥有的标签 int ArticleID= new ArticleDAL().ADD(new ArticleModel(title,Cid,content)); //获得添加的文章的ID string[] Tags_Arr=Tags.split(','); //分割 标签 为数组 //添加标签,并添加 标签与 文章的 的对应关系 TagDAL tag=new TagDAL(); ArticleIDTagIDDAL aidtid=new ArticleIDTagIDDAL(); for(i=0;i<Tags_Arr.Length;i++) { int tagID= tag.ADD(new TagModel(Tags_Arr[i])); //添加标签 aidtid.ADD(new ArticleIDTagIDModel(ArticleID,tagID));//添加 标签与 文章的 的对应关系 } }
答案:首先你觉得这么一点功能麻烦是因为你没怎么用过,刚开始都这样的,你可以在网上下载一个最简单的三层例子,看一下就ok了,很简单的,不要厌恶,很快就上手了,而且有可以生成三层的工具动软生成器和codesmith
其他:你没有理解什么是三层,你这样封装和没封装有什么区别呢?建议你去网上下一个动软生成器,生成一个项目看一下人家是怎么封装的,一看你就明白了! 三层刚开始写的时候可能会觉得比较麻烦,不过这个分层清楚点有利于代码的扩展,等写得多了就思维清晰了,就会发现分层很方便呃。

上一个:asp 如何获取单选按钮组中的值?
下一个:有关ASP的几个问题

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,