1-Nancy文档教程——简介

Introduction

首先,让我们欢迎NANCY!这篇教程会让你对NANCY的特征有一个大概的印象,在这里,我们不会去深究细节。当然来,对于NANCY,绝对会有超乎你眼睛所看到的美丽,所以,我们也请你自己来探索她。

NANCY是一款用于在.netmono创建HTTP基础服务的轻量级,低内存的框架。这个框架提供了包括super-duper-happy-path在内的尽可能多的交互方式。

这意味着,你通过NANCY建立起来的一切东西都有智能的默认值和协议(笔者:应该是指路径反射等),这样你就可以专心的去做你的网站,让那些恼人的配置统统见鬼去吧。不夸张的说,有了NANCY,在几分钟内,你就可以从无到有建起一个网站

NANCY天生就可以解决”DELETE,GET,HEAD,OPTIONS,POST,PATCH”请求,并且还提供了一个简单而优雅的 Domain SpecificLanguage(DSL领域特定语言)是你仅仅需要敲几下键盘就能返回应答,让你有更多的时间去关注更重要的细节…你的代码和工程。

由某某社区创建的这一切,它是一个开源的框架,这意味着在MIT协议所允许的情况下,你可以得到并使用这些源代码。

你可以从Neget(http://www.nuget.org/),我们的TeamCity server(http://teamcity.codebetter.com/project.html?projectId=Nancy&tab=projectOverview&guest=true)(最后一个工程)或者GitHut(http://nancyfx.org/)下载NANCY。

 

一次建立,到处运行

NANCY被创建后是可以到处运行的哟,我们是认真的。从NANCY一开始被建立的时候,就不依赖于任何现有的框架。如何和 .NET framework client profile一起创建的话,它可以被更广泛的应用,因为它自身包含有请求和响应对象。

Hosts(主机)是NANCY的核心之一。主机是托管环境和NANCY的适配器,这也使得NANCY能够在诸如ASP.NET,WCF和OWIN等现有技术框架下跑起来,当然也可以被集成在任意给定的程序里。

特性的主机并不是由NANCY的核心框架附带实现的。它们以及其它许多附加功能,比如表单验证,从前页面提取资源等都是被独立实现的。构建一个NANCY应用程序就好比是你从WEB框架自助餐里挑选你最爱的那部分。通常来说,一个NANCY服务程序你至少要包含一个核心框架和一个主机(host)。

 

Thesuper-duper-happy-path

“super-duper-happy-path”(orSDHP,如果你要把它变成一个小孩子的—_—||) 是我们用来形容NANCY高贵冷艳气质的词语,而我们争取在所有的APIs里都能够传递出这种精神气质。

虽然这种精神气质让我等凡夫俗子难以表达,不过在分解之后,最基本是:

··“It just works”。毫不犹豫的拿起它。增加一个新的module? 你肯定是自己发现的。加入一个新的View Engine?它们早已自觉的联系在一起了,你根本不需要做点其它的啥。即使你为你的module增加了一个依赖,但那又如何,默认情况下我们会为它找到位置并注入——你去泡杯咖啡来喝喝就可以了,无需你配置。

··“Easily customizable(轻松定制)”。既然有了“it just works”,那么你想这么玩就怎么玩,想用什么组件那就去用,想怎么用就怎么用,什么也不能阻止你。想换一个容器?没问题!想要换一种选择路由的方式?尽管去!只要改一下bootstrapper 的路径,那么,这些问题都不是问题。 

“Low ceremony(简洁)”,在你项目里,NANCY CODE”应该是最少的。在NANCY应用程序里,最重要的是你的代码——我们的代码早就该滚出你的视野,让你去专心的创建那些棒极了的程序。作为佐证,它实际上很可能将NANCY程序作为一个适合的功能嵌入到一个单一的文件里。

“Low friction”(低冲突),当你利用NANCY创建一个软件的时候,APIs应该帮助你去你想去的地方,而不是挡着你的路。命名应该是一眼就能看明白是干嘛的,所需要的配置也应该是最小的,但是功能和可扩展性在你需要的时候就应该出现。

无论如何,利用NANCY创建一个程序应该是一个愉快的过程。不过如果你不想牺牲可扩展性,可能需要随着你的程序的扩展才能做到(But without sacrificing the power orextensibility that you may need as your application grows.)。

 

你的第一个NANCY程序

好了,已经说得够多了,让我们来看些代码吧!在此之前,请确认你已经安装了Nuget,VS2010.不过可以使用Mono(2.10.2或更新的版本)和MonoDevelop。我们将使用NANCY和NANCY’S ASP.NET 创建一个”hello world”!

1.    安装Nancy project templates

(http://visualstudiogallery.msdn.microsoft.com/f1e29f61-4dff-4b1e-a14b-6bd0d307611a)

2. 创建一个Nancy Empty WebApplication with ASP.NET Hosting

3.      增加一个Nancy module

这是一个标准的C#类,并且为WEB程序的根目录的URL定义了路由处理程序,而这仅仅只需要在constructor添加一小点儿代码。

4、编译,运行程序并查看结果。

HelloModule.cs代码

public class HelloModule : NancyModule
{
    public HelloModule()
    {
        Get["/"] = parameters => "Hello World";
    }
}



 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC(Model-View-Controller)是一种软件设计模式,用于将应用程序的逻辑、数据和用户界面分离开来。在MVC模式中,模型(Model)负责处理数据和业务逻辑,视图(View)负责展示数据给用户,并接收用户的输入,控制器(Controller)则是负责协调模型和视图之间的交互。 Nancy-API是一个基于MVC模式的轻量级Web框架,为开发Web应用程序提供了简单灵活的方式。它使用了C#作为主要的开发语言,并且用于构建RESTful API。Nancy-API的设计和实现都非常轻量级,非常适合快速构建小型和中型的Web应用程序。 在Nancy-API中,MVC的核心概念被继续沿用。Nancy-API中的模型(Model)是用于处理数据和业务逻辑的部分,可以通过领域模型的方式来设计和实现。视图(View)在Nancy-API中可能会用来渲染响应的HTML页面,但在API开发中,视图更常用于生成JSON或XML等格式的响应数据。控制器(Controller)则是负责处理HTTP请求,并根据请求的内容来选择相应的模型和视图进行处理和生成响应。 Nancy-API的特点之一是其轻量级和灵活性。它使用了简洁的路由语法来定义API的路由规则,使开发人员可以非常容易地定义和扩展API的路由和行为。除此之外,Nancy-API还提供了丰富的插件和中间件接口,可以实现各种功能和扩展。 总之,MVC和Nancy-API都是用于构建Web应用程序的工具和框架。MVC模式提供了一种将应用程序的逻辑、数据和用户界面分离的设计思想,Nancy-API则是一个轻量级的Web框架,使用MVC模式来帮助开发人员构建RESTful API。它们的结合使用可以提高Web应用程序的可维护性和扩展性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值