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

推荐订阅源

GbyAI
GbyAI
J
Java Code Geeks
雷峰网
雷峰网
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
V
Vulnerabilities – Threatpost
S
Securelist
The Hacker News
The Hacker News
The Register - Security
The Register - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
G
Google Developers Blog
Hugging Face - Blog
Hugging Face - Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
AI
AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Schneier on Security
Schneier on Security
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
H
Hacker News: Front Page
博客园 - 司徒正美
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
大猫的无限游戏
大猫的无限游戏
Security Latest
Security Latest
Engineering at Meta
Engineering at Meta
N
News and Events Feed by Topic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
U
Unit 42
V
V2EX
V2EX - 技术
V2EX - 技术
L
LINUX DO - 最新话题
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
Recorded Future
Recorded Future
P
Privacy & Cybersecurity Law Blog
美团技术团队
小众软件
小众软件
F
Fortinet All Blogs

博客园 - 火火

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

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

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

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

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

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

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

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

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

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

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