.net framework 3.5的分部方法
2007-07-31 10:52
155 查看
早上看.net framework 3.5的分部方法这个特性。例子如下,第一个类为定义类,第二、第三个类为实现类。
public partial class AI
{
public void Active()
{
this.Run();
this.Jump();
}
partial void Run();
partial void Jump();
}
public partial class AI
{
partial void Run()
{
Console.WriteLine("我在跑");
}
}
public partial class AI
{
partial void Jump()
{
Console.WriteLine("我在跳");
}
}
它可以:
1. 以上三个类可以不放在相同的CS文件里
2. 后两个分部类如果不写,编译能顺利通过,在IL里产生有方法体的Run和Jump,但是空实现。
它不可以:
1. 分部方法不能是公开类型,必须是私有。
2. 实现类不能和定义类分别存在不同的程序集里。
它有价值的地方:
1. 更细化分工过程。以前系统分析到对象级,现在可以细到方法级别。从例子里看,对象框架维护人定义了Active方法,而Run和Jump可能被分派到其他人实现。
这样的分工模式和更大规模的集成开发趋势是紧密关联的。简单的看,这只是一个新的语言特性;仔细思考,这其实是软件朝工业化方向发展的一个信号。以后的软件开发过程势必是基于更多特性(或者说是开发工艺),在生产线上完成的。一个人就是一个螺丝钉,让你实现Run就Run,让你Jump就Jump,如果你想发挥自己的聪明才智,好,就在这个范围内尽情的发挥吧!
2. 代码可以写的更优雅,如果本例中的Run和Jump的内部实现异常复杂(AI机器人行为嘛),一个CS文件搞个几千上万行,别人读的时候时会吐血的。如果再碰到一个写代码不地道的,把方法堆砌起来了事,那是连肝都要吐出来的。有了分部方法,就可以把问题压到局部,不想看的地方我就可以看不见。
3. 代码优雅只是一个表象,如果是牺牲了性能换取的,我宁愿不要这个特性。事实上恰恰相反,分部方法的效率是非常OK的。具体就去写个例子,观察IL吧。哈哈!
相关文章推荐
- .net framework 3.5的分部方法
- Windows 8/Windows 8.1镜像安装Microsoft .NET Framework 3.5的方法
- Windows Server2012R2 添加Microsoft .NET Framework 3.5 功能失败的解决方法
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
- 在Windows 8 下本地安装.NET Framework 3.5的实现方法
- .NET Framework 3.5 SP1离线安装卸载方法
- Windows Server2012R2 添加Microsoft .NET Framework 3.5 功能失败的解决方法
- Microsoft .NET Framework 3.5 sp1离线安装方法
- Win10安装.NET Framework 3.5的方法
- windows 2012安装.NET Framework 3.5方法
- 关于.net framework 3.5安装出错的问题--解决方法!
- .Net framework 3.5 无法安装,附解决方法
- Visual Studio Setup项目“无法在磁盘上找到项‘Microsoft.Net.Framework.3.5.SP1’”的解决方法
- Windows 8 & Windows Server 2012本地安装.NET Framework 3.5的方法(命令)
- 解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法
- Microsoft .NET Framework 3.5 sp1 安装速度慢,快速离线安装的方法【标红方法较好用】
- .NET Framework 3.5 SP1安装时下载文件问题及精简方法
- Win10离线安装.NET Framework 3.5的方法技巧(附离线安装包下载)
- WIN10 NET. framework 3.5安装方法
- .NET Framework 3.5 SP1安装时下载文件问题及精简方法2(转)