• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET MVC5网站开发文章管理架构(七)

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

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了精通asp.net mvc5,精通asp.net mvc5 pdf,pro asp.net mvc5,asp net mvc5,asp mvc5等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

再看一下类图

这里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:InterfaceBaseRepository<Models.CommonModel> {

 }
}
</div>

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

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

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

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

3.IBLL

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

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

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

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:BaseService<Category>,InterfaceCategoryService
 {
 public CategoryService() : base(RepositoryFactory.CategoryRepository) { }
 }
}
</div>

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(); }
 

 }
}
</div>

文章控制器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(); }
 }
}
</div>

附件控制器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
 {
 }
}
</div>

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 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网站开发用户修改资料和密码(六)
  • ASP.NET MVC5网站开发用户登录、注销(五)

相关文章

  • 2017-05-11ASP.NET 数据访问类
  • 2017-05-11asp.net 光棒效应实现代码
  • 2017-05-11php使用socket编程示例
  • 2017-05-11Asp.net cookie的处理流程深入分析
  • 2017-05-11asp.net采集页面上所有图像图片资源的具体方法
  • 2017-05-11asp.net 页面传值的几个方法
  • 2017-05-11ASP.NET数据绑定GridView控件使用技巧
  • 2017-05-11解决Visual Studio 2012 Update 4 RC启动调试失败的方案
  • 2017-05-11使用linq读取分隔符文本文件
  • 2017-05-11ASP.NET实现URL映射的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • asp.net(c#)判断远程图片是否存在
    • 详解ASP.NET Core 2.0 视图引擎(译)
    • Asp.net实现MVC处理文件的上传下载功能实例教程
    • Asp.net配合easyui实现返回json数据实例
    • ASP.NET MVC自定义错误页面真的简单吗?
    • mvc file控件无刷新异步上传操作源码
    • 浅谈ASP.NET中最简单的自定义控件
    • ASP.NET创建动态缩略图的方法
    • ASP.NET中弹出消息框的几种常见方法
    • GridView控件如何显示序号

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有