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

推荐订阅源

罗磊的独立博客
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
H
Heimdal Security Blog
腾讯CDC
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
月光博客
月光博客
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
D
DataBreaches.Net
O
OpenAI News
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
小众软件
小众软件
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
美团技术团队
P
Privacy International News Feed

博客园 - 火火

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

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

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

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

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

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

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

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

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

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

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