代码改变世界

随笔档案-2011年03月

BlogEngine中的widget机制

2011-03-19 20:45 by MichaelYin, 444 阅读, 收藏,
摘要: BlogEngine中的widget机制支持在页面可添加一些小的widget,这个功能当时还是特别吸引我的,现在简单的说下实现的原理。 所有的widget都在一个WidgetZone的容器内,这个容器继承自PlaceHolder,而这个容器是在自定义theme中的模板页中用到的,当这个控件加载的时候,它从数据库中找到关于widget的配置信息。这个配置信息也是DataStore的方式提取和存储的。... 阅读全文

BlogEngine中的Extensinon实现

2011-03-17 09:28 by MichaelYin, 531 阅读, 收藏,
摘要: BlogEngine中提供了比较良好的扩展机制,用户可以通过添加Extension对BlogEngine进行各种功能的添加,而且还可以对各种扩展进行统一的管理,下面就把实现的机制和原理说明一下。 ManagedExtension这个类对应了BlogEngine中的Extension,ExtensionSettings是ManagedExtension中的配置信息,而ExtensionParamet... 阅读全文

BlogEngine中自定义主题的实现

2011-03-13 10:17 by MichaelYin, 447 阅读, 收藏,
摘要: BlogEngine中通过一种较灵活的方式实现了可扩展的自定义主题的实现的功能,用户只需要从网上下载相应的样式包,然后放到对应的文件夹下就能够实现对显示主题的切换。 在Web项目的themes文件夹下面有对应的各个主题的文件夹,文件夹里面有相应的主题所需要的CSS,图片等文件,另外还有三个文件,site.master,CommentView.ascx和PostView.ascx。其中除了site.... 阅读全文

char,int转换

2011-03-10 10:42 by MichaelYin, 4627 阅读, 收藏,
摘要: 写一个Console小程序的时候需要用户输入数字,然后在程序中进行获取,本来以为很简单的,没想到也发生了一些曲折。。 在Console类中,Console.Read获取的用户输入的单个字符,.net内存中的字符的存储都是采用的Unicode编码,所以这个方法返回的是该字符的Unicode编码的十进制值,对于Unicode不是很了解的朋友可以参考我的另外一篇Post字符编码那些事儿,如果我需要得到这... 阅读全文

这不是基础中的基础么

2011-03-03 00:09 by MichaelYin, 2065 阅读, 收藏,
摘要: 中午在园子里逛的时候看到了一个评论头条的博文,吉日嘎拉纠正了自己的错误认识。里面涉及到的东西说实话确实很基础,不过我看了下评论却没有将问题解释清楚,至于标题借用了老赵的评论。 先说说方法表,方法表位于内存中的Loader Heap,它包含着类对应的方法,在类加载的时候会在Load Heap上创建和相应的类对应的方法表。当类实例化的时候,托管堆上除了将对象实例化所需要的字段分配内存以外,还会给一个叫... 阅读全文