主页 > 知识库 > ASP.NET MVC5网站开发文章管理架构(七)

ASP.NET MVC5网站开发文章管理架构(七)

热门标签:地方门户网站 百度竞价排名 硅谷的囚徒呼叫中心 科大讯飞语音识别系统 阿里云 服务器配置 网站排名优化 集中运营管理办法

一、总体说明
先看一下文章管理设想要实现的功能:

再看一下类图

这里Category是栏目;CommonModel是公共模型;Article是文章;Attachment是附件;

CommonModel是内容管理这块抽取出来的公共部分,像文章,咨询甚至产品都有一些共同的内容这里把它单独提取出来作为一个类。CommonModel可能包含一片文章,包含一组附件,包含一系列评论,他们之间的关系类图中已经表示出来。

 二、搭建架构
这个顺序根以前一样

1、IDAL
在IDAL添加接口InterfaceCommonModelRepository,其实只是继承自InterfaceBaseRepository,没有添加任何其他内容。

namespace Ninesky.IDAL
{
 /// summary>
 /// 公共模型接口
 /// remarks>
 /// 创建:2014.02.23
 /// 修改:2014.02.28
 /// /remarks>
 /// /summary>
 public interface InterfaceCommonModelRepository:InterfaceBaseRepositoryModels.CommonModel> {

 }
}

再依次添加InterfaceCategory,InterfaceArticle,InterfaceAttachment,方式和公共模型接口相同。

2、DAL
DAL中是对IDAL接口的实现,还是从CommonModel开始,先添加CommonModelRepository,也是跟原来一样直接继承没有什么代码。

namespace Ninesky.DAL
{
 /// summary>
 /// 公共模型仓储
 /// remarks>
 /// 创建:2014.02.23
 /// /remarks>
 /// /summary>
 public class CommonModelRepository:BaseRepositoryModels.CommonModel>, IDAL.InterfaceCommonModel
 {
 }
}

然后依次添加CategoryRepository,ArticleRepository,AttachmentRepository。

3.IBLL

这次先从InterfaceCategoryService开始,InterfaceArticleService,InterfaceCommentService,InterfaceAttachmentService。InterfaceCommonModelService内容较多放在最后。
InterfaceCategoryService

具体功能会在做栏目的时候再写,这里暂时空着。

namespace Ninesky.IBLL
{
 /// summary>
 /// 栏目服务接口
 /// remarks>
 /// 创建:2014.02.23
 /// /remarks>
 /// /summary>
 public class InterfaceCategoryService:InterfaceBaseServiceModels.Category>
 {
 }
}

4.BLL

同样先从CategoryService开始,然后依次添加ArticleService,AttachmentService。CommonModelService。

using Ninesky.DAL;
using Ninesky.IBLL;
using Ninesky.Models;
using System;
using System.Collections.Generic;
using System.Linq;

namespace Ninesky.BLL
{
 /// summary>
 /// 栏目服务
 /// remarks>
 /// 创建:2014.02.27
 /// /remarks>
 /// /summary>
 public class CategoryService:BaseServiceCategory>,InterfaceCategoryService
 {
 public CategoryService() : base(RepositoryFactory.CategoryRepository) { }
 }
}

5、Web

在web项目的Member区域下添加三个空控制器。

栏目控制器CategoryController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Ninesky.IBLL;
using Ninesky.BLL; 
using Ninesky.Models;

namespace Ninesky.Web.Areas.Member.Controllers
{
 [Authorize]
 public class CategoryController : Controller
 {
 private InterfaceCategoryService categoryRepository;
 public CategoryController() { categoryRepository = new CategoryService(); }
 

 }
}

文章控制器ArticleController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Ninesky.Models;
using Ninesky.IBLL;
using Ninesky.BLL;

namespace Ninesky.Web.Areas.Member.Controllers
{
 public class ArticleController : Controller
 {
 private InterfaceArticleService articleService;
 private InterfaceCommonModelService commonModelService;
 public ArticleController() { articleService = new ArticleService(); commonModelService = new CommonModelService(); }
 }
}

附件控制器AttachmentController

using System;
using System.Collections.Generic;
using System.Linq;
using System.Collections;
using System.Web;
using System.Web.Mvc;
using System.IO;
using Ninesky.IBLL;
using Ninesky.BLL;
using Ninesky.Models;

namespace Ninesky.Web.Areas.Member.Controllers
{
 /// summary>
 /// 附件控制器
 /// remarks>
 /// 创建:2014.03.05
 /// /remarks>
 /// /summary>
 [Authorize]
 public class AttachmentController : Controller
 {
 }
}

架构结束啦,下面就开始实现文章相关功能!

您可能感兴趣的文章:
  • ASP.NET MVC5网站开发管理列表、回复及删除(十三)
  • ASP.NET MVC5网站开发我的咨询列表及添加咨询(十二)
  • ASP.NET MVC5网站开发修改及删除文章(十)
  • ASP.NET MVC5网站开发添加文章(八)
  • ASP.NET MVC5网站开发用户修改资料和密码(六)
  • ASP.NET MVC5网站开发用户登录、注销(五)
  • ASP.NET MVC5网站开发用户注册(四)
  • ASP.NET MVC5网站开发项目框架(二)
  • ASP.NET MVC5网站开发概述(一)
  • MVC4制作网站教程第三章 删除用户组操作3.4

标签:广西 随州 开封 梧州 乌兰察布 威海 甘孜 西双版纳

巨人网络通讯声明:本文标题《ASP.NET MVC5网站开发文章管理架构(七)》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266