This article is the summary of this series, in this article, only from my own point of view of the blogengine.net. The content includes the advantages and disadvantages of blogengine.net, performance problems, how to read source code and so on.
Reiterate the purpose of writing this series
1. Make yourself more in-depth understanding of the BlogEngine.NET architecture, the BlogEngine.NET code can be more profound mastery.
2. For those who want to learn blogengine.net source code, but do not know where to start or more confused friends a learning guide.
3. In the blog Park Forever saved, convenient for you to see me. Because there is very little information on this.
about how to read source code
In fact, blogengine.net annotation has been very clear, but because it is really big, very strong, I am learning its source code or go a lot of detours, have given up many times, but finally found a feeling. BlogEngine.NET's biggest feature is though small, spite, from the use of see too much, but it is really very classic, design and implementation is very beautiful. Personally, I think we should just stick to the following points when we study it:
1. According to the order of the article a piece of research: the sequence of writing this series is I think the best learning route.
2. Adhere to the overall grasp, nuanced principle. That is, the source code for the macro consideration of the time to macro consideration, should be carefully scrutinized when the time will be carefully elaborated. Look at the code first look at what this piece of code is probably doing, and then go to a line of view. For those who do not understand the place, you can put aside, you will naturally know later.
3. For the indeterminate part of the debugging side to see, that is f10,f11 look like this.
A view on the performance problem of BlogEngine.NET
BlogEngine.NET was originally a single blog, currently supporting many people to write a blog, but and cnblogs this community blog is still a big difference. In fact, I think blogengine.net market positioning is the use of managed services, the single blog system. From its implementation code we can see that the processing of post, and so on, is completely populated from the persistent storage device to the object in memory, some friends in the comments proposed such a memory expansion problem. In fact, my view is like this, such as blogengine.net this market positioning of the blog system in the post more and more not where to go, post medium storage is plain text, for pictures, files and other large resources or stored on disk, such a demand can be satisfied. Furthermore blogengine.net support export backup, we can in some cases to export some of the post text parts into the blgoxml format storage, and then delete some post, but those pictures are still saved, so that HttpHandler processing is still valid. So what's the benefit of BlogEngine.NET's handling of business objects? I think there are the following two points mainly:
1. Control flexibility, data control completely to the business object, database, etc. is only a persistent storage function.
2. Performance improvement, BlogEngine.NET search method can only use such business object data processing methods to be satisfied.
So the advantages of blogengine.net in the large user volume I think it will be obvious, this is what the blog system needs. I think the system architecture like BlogEngine.NET is suitable for applications where the data is dynamic, the data is not very large, but the user has a lot of system design.