最近我要开始这个系列了,这是我的第一个系列。关于BlogEngine.Net我想说的是,它设计的真的很棒,代码简洁但是功能很多,真是麻雀虽小,五 脏俱全啊,而且具有了很多Web2.0的特征,甚至它的每一行代码都值得我们去研究一下,它的开发团队很棒。实际上很多国外的个人Blog都是采用 BlogEngine.Net加上自定义皮肤实现的,如果您是一个Blog的开发者,这更是您的必备参考!
很多兄弟都推荐BlogEngine.Net看一看,甚至www.ASP.NET也 把它放在了很重要的位置。前一阶段我仔细的把它的源代码阅读了一遍,看完以后兴奋的很冲动,心想居然还有这么好的玩意,这个开源项目设计的真的不错。实际 上前不久的一个Podcast项目我就是采用了类似BlogEngine.Net这种架构开发的,感觉还是很不错的。最近利用空闲的时间做了一下总结,准 备写一个关于BlogEngine.Net系列文章,其实我早就想写一个系列文章,但是一直没有好的想法,对于我比较熟悉的方面发现园子里的兄弟都给写完 了,但是关于BlogEngine.Net的文章似乎很少,所以我决定写这个系列,还希望园子中的兄弟们多支持一下啊。
开篇声明
本系列文章介绍的是BlogEngine.Net 1.4.5版本,这是官方前不久发布的一个版本。大家可以在http://www.codeplex.com/blogengine 下载最新的源代码和相应的说明文档。此外,您还可以在它的官方站点http://www.dotnetblogengine.net/上了解更多的安装和一些扩展开发等问题,还可以下载一些开发者已经做好的皮肤。讲解代码使用C#,基于.Net Framework2.0。
BlogEngine.Net简介
BlogEngine.NET是一个开源的.NET博客项目。整个项目采用C#开发,它的结构比较简单,但是扩展起来很容易,它的复杂程度较低,易于定制。扩展特性主要体现在以下三个方面:
1.Widget小工具
2.Extension扩展功能
3.自定义个性化Theme
最初它是一个单人博客,很容易将它实现成多人博客。codeplex上有一个案例就是基于BlogEngine.Net的多人博客。BlogEngine.Net的主要特性:
1.很容易被安装,只要把文件上传到Web服务器就可以运行。因为它默认采用XML存储数据。
2.具有很多Blog的新特性并提供了开放接口。例如Ajax评论,支持TrackBack等。
3.具有很多Web2.0特性,例如OpenSearch, XFN tags, tag cloud等。
4.自定义主题,您可以自己开发很多主题,类似博客园的主题。
5.可以配置自己的数据源,例如XML,SQL Server,SQLite等。
这个系列文章我将从BlogEngine.Net的架构入手,对于每个相对独立的部分进行一下代码分析并作出相应的总结,对于一些部分我会给出我个人的评价,对于一些比较好的细节部分我也会深入探讨。如果大家有一些反馈我还会及时调整。
暂定目录
下面是我初步定出的一个目录结构,也反映了系列文章的主要路线,请大家参考,这个目录可能在写的过程中会随时进行调整并加入已经完成文章的链接:
1.BlogEngine.Net架构与源代码分析系列part1:开篇介绍
2.BlogEngine.Net架构与源代码分析系列part2:业务对象–共同的父类BusinessBase
3.BlogEngine.Net架构与源代码分析系列part3:数据存储–基于Provider模式的实现
4.BlogEngine.Net架构与源代码分析系列part4:Blog全局设置–BlogSettings
5.BlogEngine.Net架构与源代码分析系列part5:对象搜索–IPublishable与Search
6.BlogEngine.Net架构与源代码分析系列part6:开放API–MetaWeblog与BlogImporter
7.BlogEngine.Net架构与源代码分析系列part7:Web2.0特性–Pingback&Trackback
8.BlogEngine.Net架构与源代码分析系列part8:开发扩展(上)–Extension与管理上的实现
9.BlogEngine.Net架构与源代码分析系列part9:开发扩展(中)–Widget小工具
10.BlogEngine.Net架构与源代码分析系列part10:开发扩展(下)–自定义Theme
11.BlogEngine.Net架构与源代码分析系列part11:页面共同的基类–BlogBasePage
12.BlogEngine.Net架构与源代码分析系列part12:实现分析(上)–HttpHandlers与HttpModules
13.BlogEngine.Net架构与源代码分析系列part13:实现分析(下)–网站页面上值得参考的部分
14.BlogEngine.Net架构与源代码分析系列part14:总结篇
我写这个系列文章的目的有三个。首先将好的东西分享给大家,其次让我更加深入的研究BlogEngine.Net提高自己,最后作为一个备忘录存储在博客园上。
分享是一种美。