惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - 火火

再一次求职 回家感悟 今天是个好日子 我有一个梦想 发火 苏轼《定风波》词两首 我不认识你 谈自杀 救助 寒食贴 今个儿高兴 用数学来证明口是心非 我想去旅行——敦煌 冬夜守望 吃错药了 祭疼痛文 《庐山烟雨》的境界
快速认识一个好的Framework
火火 · 2009-04-23 · via 博客园 - 火火

今天,公司另一个Team 演示他们的Framework

“我们的Framework 分为X 模块,这个模块用来……这个模块用来……这样划分得很清晰……应用了反射……新手很容易上手……我们的Framework还是很不错的!”

“模块清晰”,“用了反射”,一个好Framework 的标准就这样简单?通过他们的演示,我发现那个Framework的确不错(毕竟是来自Microsoft 内部的),只是介绍者没有讲出来而已……我又是怎么很快发现它的好的呢?

一个好的Framework 不仅仅是要求好的分层,而且还有良好的约束性和可扩展性,这些约束性和可扩展性大多是通过代码的一些关键字来实现的……

abstract, 用来修饰类,那只能用来继承,不能实例化;用来修饰方法,派生类中一定要实现
sealed用来修饰类,表示密封类,不可被继承

这样对使用这个Framework的用户起到了约束作用。

virtual, 用来修饰方法,在派生类中可以实现可以不实现
,有些方法的参数或返回值的类型后面加 ,表示可以返回null 或者传入null

这样在约束用户的同时又给了相应的灵活性。

当然,一个好的Framework不仅仅是靠几个关键字就能来体现的,还要考虑涉及 到更多:设计模式,效率,易维护程度……

但很多关键字在学习一个Framework 的时候是绝对不能忽视的。