.NET框架:为何首选框架内置功能而非自创?

2026-05-27 05:030阅读0评论SEO资讯
  • 内容介绍
  • 相关推荐

本文共计2042个文字,预计阅读时间需要9分钟。

.NET框架:为何首选框架内置功能而非自创?

很多人经常会提出这样的疑问:为什么.NET框架要把一些非常简单的功能也封装起来呢?而有些人则坚持有现成的就用现成的的习惯,认为那些明明只是非常简单的功能却被封装起来,有点过于繁琐。

有很多人经常会持有这样的疑问:为什么 .NET 框架要把一些很简单的功能也封装起来?

而有些人所坚持的“有现成的就用现成的”的习惯在那些“明明只是很简单的功能却被封装了起来”的情况下也显得很可笑。

那么,实际上到底有没有必要用那些本来就很简单的封装?这些简单的封装到底具有什么样的意义呢?

其实大部分这样的简单的封装都是针对“跨平台使用”而设计的。

有些人可能会说:.NET 框架有什么跨平台可言?

其实 .NET 框架虽然现在只提供 Windows 上的版本,但其它平台上的 CLI 实现,如 Mono、DotGNU 等等也都有赖于 .NET 框架和 CLI 的预见性方能成为现实;而可以在多种环境中使用的 RIA 平台 Silverlight 也是将这种思想发挥到了极致。

举个例子来说,.NET 框架中 IPAddress 类型具有 NetworkToHostOrder 和 HostToNetworkOrder 方法,如果你使用 Reflector 来查看反编译后的代码,你会发现 NetworkToHostOrder 只是调用了 HostToNetworkOrder,而 HostToNetworkOrder 的原理也只不过是一些简单的位移运算而已。

有的人看到这里可能会想:包了两层方法性能多差啊,用到它的地方自己写位移运算不是也可以么?

不要这样做。

阅读全文

本文共计2042个文字,预计阅读时间需要9分钟。

.NET框架:为何首选框架内置功能而非自创?

很多人经常会提出这样的疑问:为什么.NET框架要把一些非常简单的功能也封装起来呢?而有些人则坚持有现成的就用现成的的习惯,认为那些明明只是非常简单的功能却被封装起来,有点过于繁琐。

有很多人经常会持有这样的疑问:为什么 .NET 框架要把一些很简单的功能也封装起来?

而有些人所坚持的“有现成的就用现成的”的习惯在那些“明明只是很简单的功能却被封装了起来”的情况下也显得很可笑。

那么,实际上到底有没有必要用那些本来就很简单的封装?这些简单的封装到底具有什么样的意义呢?

其实大部分这样的简单的封装都是针对“跨平台使用”而设计的。

有些人可能会说:.NET 框架有什么跨平台可言?

其实 .NET 框架虽然现在只提供 Windows 上的版本,但其它平台上的 CLI 实现,如 Mono、DotGNU 等等也都有赖于 .NET 框架和 CLI 的预见性方能成为现实;而可以在多种环境中使用的 RIA 平台 Silverlight 也是将这种思想发挥到了极致。

举个例子来说,.NET 框架中 IPAddress 类型具有 NetworkToHostOrder 和 HostToNetworkOrder 方法,如果你使用 Reflector 来查看反编译后的代码,你会发现 NetworkToHostOrder 只是调用了 HostToNetworkOrder,而 HostToNetworkOrder 的原理也只不过是一些简单的位移运算而已。

有的人看到这里可能会想:包了两层方法性能多差啊,用到它的地方自己写位移运算不是也可以么?

不要这样做。

阅读全文