博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Effective C# 摘录(4) - 创建二进制组件
阅读量:5746 次
发布时间:2019-06-18

本文共 966 字,大约阅读时间需要 3 分钟。

30.尽可能实现CLS兼容的程序集。

   Prefer CLS-Compliant Assemblies。
   必须遵从两个规则:1.所有公共的和受保护的成员上的参数和返回值的类型都必须是与CLS兼容的[assembly:CLSCompliant(true)];2.其它不与CLS兼容的公共或者保护成员在其所定义的CLS兼容的对象必须存在同义成员(e.g:重载了operator+后,还要再定义一个同义的Add方法,以便在CLS兼容的程序集中使用Add方法)。

  

31.尽可能实现短小简洁的函数.
   Prefer Small, Simple Functions。
   C#编译器只是将C#代码编译成IL程序集,这些程序集必须在执行时经JIT进一步编译成能被CPU处理的本机代码才可以被执行。小函数可以非常容易被JIT编译器分期处理。小函数更有可能被候选内联。当然并不是足够小才行:简单的控制流程也是很重要的,JIT在处理函数内简单的控制分支时,可以更容易地用寄存器存储局部变量。方法越小越有可能被内联,任何虚方法或者含有try/catch块的函数都不可能被内联。

32.尽可能实现小而内聚的程序集.
   Prefer Smaller, Cohesive Assemblies.
   大程序集需要花更多的CUP时间来加载;分成小程序集可以使得程序启动时的开销被分期处理,但在程序集之间穿梭式,CLR要调整函数入口地址和进行安全验证(同一个程序集中的所有的代码具有相同的可信任级别)。C#/.Net的设计是以组件为核心思想的,我们构建程序集时也应该按照组件的思想来设计程序集的大小。

33.限制类型的可见性。
   Limit Visibility of Your Types。
   对于每个类型,在满足功能的情况下,应该尽可能的限制其可访问级别。通过在类上实现公共接口来减少可见内容,以暴露必须要暴露的内容。创建内部类(internal class,限制只能在该程序集内部可见)是经常使用的用于限制类型可见范围的方法。

34.创建大粒度的Web APIs。
   Create Large-Grain Web APIs。
   当你使用web服务,或者.Net远程交互时,最昂贵的开销是在两台远程机器之间进行对象传输时,所以要在两机器间的会话频率和会话时数据包的大小之间进行权衡。
 

转载地址:http://qfazx.baihongyu.com/

你可能感兴趣的文章
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
Spring--通过注解来配置bean
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>
查看Linux并发连接数
查看>>
你是谁不重要,关键是你跟谁!
查看>>
CSS中规则@media的用法
查看>>
pychecker:分析你的python代码
查看>>
我的友情链接
查看>>
DNS显性+隐性URL转发原理
查看>>
我的友情链接
查看>>
网易有道 IP地址、手机号码归属地和身份证 查询接口API
查看>>
鼠标停留在GridView某一行时行的颜色改变
查看>>
系列3:WAS Liberty Profile hello mysql jdbc
查看>>
基础知识:python模块的导入
查看>>
Android MVC之我的实现
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
关于批处理-1
查看>>