zoukankan      html  css  js  c++  java
  • 【翻译】Building a Simple Blog Engine with ASP.NET MVC and LINQ Part 1

    摘要

    微软发布了ASP.NET 3.5 Extensions的第一个CTP版本,它包含ASP.NET 3.5的一个重要的extensions:ASP.NET MVC Framework。本系列文章拟使用ASP.NET MVC和LINQ建立一个简单的Blog系统,在第一部分,Keyvan介绍了MVC模式、ASP.NET MVC Framework以及简单Blog系统的基本原理。
    原文地址:Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 1

    内容

    • 简介
    • 什么是MVC?
    • 什么是ASP.NET MVC Framework?
    • KBlog基础
    • 创建项目
    • 开始
    • 进一步阅读
    • 小结

    简介

    几周前发布了ASP.NET 3.5 Extensions的第一个CTP版本,它包含了ASP.NET MVC Framework的第一个公共版本。网络上已经有了很多教程、博文和Web Cast,它们都是学习这个MVC Framework的优秀资源。

    我打算写几篇关于ASP.NET MVC Framework的文章,使用MVC和LINQ来建立一个简单的Blog系统。我将为您呈现所有步骤的细节,并对一些深层次的话题展开讨论。我现在还没有完成该系统,我将在撰文的同时编写代码。

    这个简单的应用包含在ASP.NET MVC Toolkit中,但还没有详细的描述。为什么在已经有了相似教程的情况下,我还要写这个系列呢?在我看来,学习MVC Framework的曲线必须遵循几个步骤,建立一个简单Bolg系统并且描述其过程,将是学习ASP.NET MVC Framework的一个非常好的例子。

    本文是该系列文章(我将在几周内完成这个系列)的第一篇,主要介绍一些基本信息。

    什么是MVC?

    是啊,什么是MVC呢?其他人已经更好的阐述了这个概念,但我想用自己的语言来复述。

    MVC是一个方法论,它基于将实现划分为Model、View和Controller三种角色的理念来构建应用。

    让我们再来看看上面的句子。我们认为MVC是一个方法而非技术,因此在微软将它用于ASP.NET前已经有了许多应用。我强调这一点是因为曾经看到一些家伙认为MVC是一种专为ASP.NET设计的技术。

    我仍然需要简单的介绍一下这三个角色:

    • Model:维持状态的角色。通常是描述数据库中数据的类。
    • View:通过用户界面向最终用户呈现数据的角色。它可能是一组用户界面元素,如文本框、编辑器或按钮。
    • Controller:负责接收用户输入并进行处理的角色。事实上,Controller实现当前逻辑以处理用户请求。

    要设计依赖于数据交互的应用,使用MVC是一个非常好的方法。MVC最大的优点是可以轻松的实现单元测试。通过Controller可以很方便的对MVC应用进行单元测试以及实现测试驱动的流程(Red-Green-Refactor)。

    图1展示了MVC模式的结构,Model独立于Controller和View,这使得Model的测试更加容易。另一方面,Model、View和Controller的分离可以使开发者轻松的测试MVC应用。实际上,将作为用户界面元素的View和Controller、Model分离是非常重要的,它简化了测试过程。

    图1 MVC结构


    对于MVC我不再进行过多的讨论,你可以参考Scott Guthrie's postWikipedia,这些足够你入门了。

    什么是ASP.NET MVC Framework?

    ASP.NET MVC Framework是微软将MVC在ASP.NET中的应用,在ASP.NET 3.5中,提供了建立基于MVC的Web应用所必须的特性。

    ASP.NET MVC Framework目前仍在构建中,并且作为ASP.NET 3.5 Extensions CTP的一部分,只有一个公共版本可供下载。

    当你下载并安装了这个组件,你就可以感受到来自ASP.NET Extensions方方面面的优点,它还在Visual Studio 2008上自动安装了一些项目模板。

    与这个下载组件一起的,还有一个MVC toolkit package,它提供了开发MVC时一些有用的工具。在本系列文章中我也将使用它们。

    KBlog基础

    在本系列文章中,我将创建一个简单的Bolg工具,我称之为KBlog。

    该Bolg系统支持Blog发布、评论和分类。一篇Blog只能有一个种类,但可以有任意多的评论。该系统只面向单一用户,并且包含一些URL模式以处理公共和私有页面。所有这些都包括自己的ID。简便起见,KBlog不支持将name作为URL的一部分。

    作为第一步,我将使用SQL Express作为数据库。我手工填入一些数据,在完成公共页面的讨论之后,我将介绍管理页面,用户可以通过管理页面输入数据。

    创建项目

    显然,第一步是在Visual Studio中创建一个项目。如果成功安装了ASP.NET 3.5 Extensions CTP,在Web类别下,可以看到"ASP.NET MVC Web Application"项目。我将该系统命名为KBlog(图2)。

    图2 新建一个ASP.NET MVC Web Application项目


    之后,Visual Studio将按照预定义的模板和结构生成项目。

    开始

    Visual Studio生成了一个结构简单的ASP.NET Web Application项目。

    3 ASP.NET MVC解决方案结构


    该项目包含一些引用,最重要的一个是System.Web.Extensions装配件。另外还包括四个文件夹,Content、Controllers、Models和Views。

    • Content文件夹仅保存一个默认的CSS样式文件。
    • Controllers文件夹保存Controller类。
    • Models文件夹保存Model类。
    • View保存视图文件,并且包含一些含有aspx和master文件的文件夹。

    正如你所见,Controllers、Models和Views对我们来说更重要一些,因为它们是用来保存Controller、Model和View的。这样的命名并不是定死的,你可以用自己的结构来替代。

    除此之外,还有一些众所周知的ASP.NET文件夹,它们的额外定义稍后会介绍。

    需要说明的一点是文件Default.aspx,正如它的内容所描述的那样,为了使IIS在用户访问到该页时为应用程序激活MVC,你不能删除该文件。

    本文介绍到这里已经差不多了。循序渐进地,我将在接下来的文章中为该项目添加一些实现。

    进一步阅读

    下面的列出了一些非常优秀的Blog资源,你可以阅读以进一步了解ASP.NET MVC Framework,它们已经包含了有关ASP.NET MVC的极好的资料。这项技术对于ASP.NET来说是全新的,因此目前的资源并不是很多,但幸运的是,MVC在开发中已经十分流行,在这短短几周中,我们已经看到了业内的强烈反响。

    小结

    在该ASP.NET MVC Framework系列文章的第一篇中,我想您介绍了MVC模式、MVC的基本原理、ASP.NET MVC Framework以及将在该系列文章中编写的简单Blog系统的基本信息。我还在ASP.NET MVC中保留了MVC解决方案的结构。

    在接下来的部分中,我将逐步建立这个Blog系统,并介绍有关ASP.NET MVC Framework的原则和技术。

  • 相关阅读:
    Guava学习笔记(4):Ordering犀利的比较器
    Guava学习笔记(3):复写的Object常用方法
    Guava学习笔记(1):Optional优雅的使用null
    [BZOJ1076][SCOI2008]奖励关
    [BZOJ1821][JSOI2010]部落划分
    [BZOJ1041]圆上的整点
    [Luogu2324]八数码难题
    [BZOJ1085][SCOI2005]骑士精神
    [BZOJ3109] [cqoi2013]新数独
    [LnOI2019]长脖子鹿省选模拟赛 东京夏日相会
  • 原文地址:https://www.cnblogs.com/kirinboy/p/Building_a_Simple_Blog_Engine_with_ASPNET_MVC_and_LINQ__Part_1.html
Copyright © 2011-2022 走看看