BootstrapMzBlog分析

早上衣明志 在QQ群里说他的博客开源了,地址在
https://github.com/qihangnet/MZBlog,基于南茜(Nancy)FX和MongoDB开发的。博客内容需要接纳
MarkDown
举行编制。Nancy框架是ASP.NET之外用.NET开发Web
App的一种选用,而且也是一种很粗略的选料。所以本文本着学习南希(Nancy)框架的辨析了下衣表哥的代码,下图是个脑图:

Bootstrap 1

1、MongoDB:数据存储采纳NoSQL MongoDB,采取官方的驱动
mongocsharpdriver。

2、大旨库的测试项目MZBlog.Core.Tests:项目采纳xUnit.NET测试框架,xUnit.net创造者是吉姆Newkirk和布拉德威尔逊从包括NUnit及此外单元测试框架的采纳经验中总括出来的一个新框架,相比于NUnit,xUnit.net和其他框架的可比可参照《xuint和另外的单元测试框架的相比》。此外FluentAssertions,非凡棒的测试断言。异常契合人的惦念模式。

3、项目分层:项目应用DDD(领域模型)的优异层次,包括了展现层,应用层,领域层和基本功设备层,MZBlog.Core其实对应着功底设备层,然而这里的并不是指世界模型中的基础设备,更适合的说应该是有些一般档次的主干层,封装一些常用的工具和劳动,例如缓存、MongoDB操作。

Bootstrap 2

MZBlog.Core的Documents、ViewProjections、Commands
对应的是MongoDB的天地层,领域层进行划分,会冒出部分专程对应的有些领域基本层,领域基本实体扩大层。

  1. 天地要旨层:这个层专门用来举办对天地层的壮大:用于定义一些领域中常用形式的接口,属于上层建筑。如ICommandInvoker,IViewProjection等,
  2. 领域基本扩充层:这一个层专门用来对世界层中的实体举行扩张,如ViewProjections、Commands
    等。

MZBlog.Web是应用层和呈现层,同时也是对南茜框架的一个运用的示范。

4、Nancy框架:Nancy是一个不错的轻量级开源.NET
Web框架,他是asp.net框架之外的另一个web开发框架,他完全不借助于System.Web.只为简易的Web开发做最基础的预备,以南希(Nancy)写的Web应用,能够轻松部署在Linux上,而不要受服务器操作系统的范围,衣明志的博客
就是在Linux上跑的,Web服务器使用的Jexus

  1. Bootstrapper,类似与ASP.Net项目里的Global.asax,定义了动用的生命周期,继承了南茜Bootstrapper类后得以重写基类的浩大艺术,比如ApplicationStartup
  2. Security: Nancy的身份验证组件——Nancy.Authentication.Forms,你可以到nuget上获得。由于Nancy的运行机制跟ASP.NET几乎没有关联,到可以移步到Forms authentication with nancyfx看看它是怎么实现的。
  3. Responses:Http响应,项目中有个RssResponse,封装了博客的RSS功效。
  4. Modules:南茜 Web
    App的主干,继承南茜Module这一个基类,然后在结构里直接定义HTTP方法和路由即可,路由体制简单轻量但不失强大,可以一本万利的通过正则表达式制定路由规则。和ASP.NET相相比异常简单吧,南希框架天生就是MVC结构,Modules类似于ASP.NET
    MVC的Controller。
  5. Modelbinding:类似于asp.net
    mvc的ModelBinding,具体参看https://github.com/NancyFx/Nancy/wiki/Model-binding,担负起Modules和Views之间数据传递的桥梁。
  6. Views: 南茜(Nancy)协助Razor,
    Spark(Spark),
    dotLiquid等视图引擎,开发人士可以遵照自己的喜好,采用不同的视图引擎。MZBlog用的是Razor视图引擎,你的ASP.NET
    MVC的知识可以无缝嫁接。
  7. ErrorHandling:分外处理,可以遵照不同的http状态码举行处理,具体可以参考
    Consistent error handling with
    Nancy
  8. TinyIoC:Nancy集成了TinyIoCTinyIoC是一个跨各个手机平台的轻量级开源Ioc框架(TinyIoC),该框架相当小,唯有一个cs文件就能运用,使用后觉得功效还不错,基本容器功效都匡助了。git开源项目地址:https://github.com/grumpydev/TinyIoC

5、Bootstrap是Twitter出名的一个不错的web前端框架,它让不太懂设计的web程序员们也能做出相比较赏心悦目的UI来。Bootstrap3默认使用当下流行的扁平化设计,会让您的web显得很风尚.

6、Markdown
是一种轻量级标记语言,开创者为约翰·格鲁伯(John
Gruber)和亚伦·斯沃茨(AaronSwartz)。它同意人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了过多在电子邮件中已有些纯文本标记的风味。马克(Mark)down
语法可参考 http://wowubuntu.com/markdown/

 

xUnit.net runner for Visual Studio 2012 and
2013

Lift your Petticoats with
Nancy….

Setting up a NancyFX
website

From ASP.NET MVC to Nancy – Part
1

扩展NoteService,支持NancyFx

相关文章