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

推荐订阅源

F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
www.infosecurity-magazine.com
www.infosecurity-magazine.com
大猫的无限游戏
大猫的无限游戏
爱范儿
爱范儿
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Threatpost
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - Franky
人人都是产品经理
人人都是产品经理
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Cloudflare Blog
N
News and Events Feed by Topic
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
AWS News Blog
AWS News Blog
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Spread Privacy
Spread Privacy
J
Java Code Geeks
博客园 - 聂微东
T
Tor Project blog
宝玉的分享
宝玉的分享
博客园 - 叶小钗
Webroot Blog
Webroot Blog
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Heimdal Security Blog
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
I
InfoQ
Security Latest
Security Latest
Martin Fowler
Martin Fowler
Hacker News: Ask HN
Hacker News: Ask HN
P
Privacy International News Feed
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
雷峰网
雷峰网
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cisco Blogs
H
Help Net Security
L
LINUX DO - 最新话题
L
LINUX DO - 热门话题

博客园 - williambirkin

.NET平台自带的AOP机制 转自《设计模式--基于c#的工程化实现及扩展》 今天看PolicyInjection遇到的问题 我的第一个ASP.NET Ajax控件 转 事务隔离级别 转 UML 基础: 类图 关于Form.show的问题 关于where中子查询的性能问题 请高手指教 模式 转 SQL Server 索引结构及其使用 (三) 转 SQL Server 索引结构及其使用 (二) 转 SQL Server 索引结构及其使用 (一) 转 《为Windows应用创建简单的异步调用模式》 转 C#格式化数值结果表(格式化字符串) SQL游标的简单使用 转“理解VC# 2005中的字符串和正规表达式” 2个IP输入控件 Windows Forms中禁用窗体的关闭按钮 回车移动焦点 文本框事件顺序
泛型的一点思考 摘自《.NET 2.0 模式开发实战》
williambirkin · 2008-01-25 · via 博客园 - williambirkin

摘自《.NET 2.0 模式开发实战》

无论什么时候使用泛型类型,泛型的特定版本总是动态产生的。如果泛型类型是通过3种不同的类型使用,那么3种不同版本都是动态创建的。这使得执行.NET应用程序时会有更多的应用需求。大小的变化可能忽略不计,也可能非常显著,这就要看不同类型的数量,以及一个泛型嵌入到另一个泛型类型中的频率。当然C#中不可能再遇到与C++模板同样的问题(每次实例化后代码会变大,并需要2MB的内存空间)。

在某些情况下,泛型反而把错误放大了,因为广泛的使用泛型的源代码是抽象的,需要一些思考才能弄清楚所定义的是什么。简单来说,假设开发一个抽象的架构,当实现抽象时,创建了另一个抽象,当实现抽象时,又创建了另一个抽象。使这些抽象一起工作,开发者需要为它们赋予正确的类。问题是对一个人来说很清楚的事情对另一个人来说不一定是也很清楚。因此,抽象的优势丧失了。相反,当编写一个类实现一个接口并引用另一个类时,你很容易知道其目的是什么。

对泛型不要害怕也不要否定。相反,我鼓励使用泛型,因为他们能更好的解决一些问题。但是要意识到,泛型是一种很强大的机制,应该谨慎对待,适当使用。