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

推荐订阅源

有赞技术团队
有赞技术团队
G
Google Developers Blog
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
P
Proofpoint News Feed
V
Visual Studio Blog
爱范儿
爱范儿
The Cloudflare Blog
博客园 - 叶小钗
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
H
Help Net Security
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 【当耐特】
量子位
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

博客园 - 火火

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

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

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

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

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

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

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

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

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

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

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