自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.NET Framework分部方法功能詳解

開(kāi)發(fā) 后端
.NET Framework分部方法的應(yīng)用可以更細(xì)化的為開(kāi)發(fā)人員進(jìn)行分工過(guò)程。讓編程人員在實(shí)際編寫中能夠充分的進(jìn)行代碼優(yōu)化。

通過(guò)對(duì).NET Framework的學(xué)習(xí),我們可以知道,它能為開(kāi)發(fā)人員提供一個(gè)功能非常全面的開(kāi)發(fā)環(huán)境。那么如何才能真正的掌握這一開(kāi)發(fā)平臺(tái)呢?首先來(lái)了解一下.NET Framework分部方法的相關(guān)介紹。#t#

早上看.NET Framework分部方法這個(gè)特性。例子如下,第一個(gè)類為定義類,第二、第三個(gè)類為實(shí)現(xiàn)類。

 

  1. public partial class AI  
  2. {  
  3. public void Active()  
  4. {  
  5. this.Run();  
  6. this.Jump();   
  7. }  
  8. partial void Run();  
  9. partial void Jump();  
  10. }  
  11. public partial class AI  
  12. {  
  13. partial void Run()  
  14. {  
  15. Console.WriteLine("我在跑");  
  16. }  
  17. }  
  18. public partial class AI  
  19. {  
  20. partial void Jump()  
  21. {  
  22. Console.WriteLine("我在跳");  
  23. }  

 

.NET Framework分部方法可以:

1. 以上三個(gè)類可以不放在相同的CS文件里

2. 后兩個(gè)分部類如果不寫,編譯能順利通過(guò),在IL里產(chǎn)生有方法體的Run和Jump,但是空實(shí)現(xiàn)。

 

.NET Framework分部方法不可以:

1. 分部方法不能是公開(kāi)類型,必須是私有。

2. 實(shí)現(xiàn)類不能和定義類分別存在不同的程序集里。

 

.NET Framework分部方法有價(jià)值的地方:

1. 更細(xì)化分工過(guò)程。以前系統(tǒng)分析到對(duì)象級(jí),現(xiàn)在可以細(xì)到方法級(jí)別。從例子里看,對(duì)象框架維護(hù)人定義了Active方法,而Run和Jump可能被分派到其他人實(shí)現(xiàn)。

這樣的分工模式和更大規(guī)模的集成開(kāi)發(fā)趨勢(shì)是緊密關(guān)聯(lián)的。簡(jiǎn)單的看,這只是一個(gè)新的語(yǔ)言特性;仔細(xì)思考,這其實(shí)是軟件朝工業(yè)化方向發(fā)展的一個(gè)信號(hào)。以后的軟件開(kāi)發(fā)過(guò)程勢(shì)必是基于更多特性(或者說(shuō)是開(kāi)發(fā)工藝),在生產(chǎn)線上完成的。一個(gè)人就是一個(gè)螺絲釘,讓你實(shí)現(xiàn)Run就Run,讓你Jump就Jump,如果你想發(fā)揮自己的聰明才智,好,就在這個(gè)范圍內(nèi)盡情的發(fā)揮吧!

2. 代碼可以寫的更優(yōu)雅,如果本例中的Run和Jump的內(nèi)部實(shí)現(xiàn)異常復(fù)雜(AI機(jī)器人行為嘛),一個(gè)CS文件搞個(gè)幾千上萬(wàn)行,別人讀的時(shí)候時(shí)會(huì)吐血的。如果再碰到一個(gè)寫代碼不地道的,把方法堆砌起來(lái)了事,那是連肝都要吐出來(lái)的。有了分部方法,就可以把問(wèn)題壓到局部,不想看的地方我就可以看不見(jiàn)。

3. 代碼優(yōu)雅只是一個(gè)表象,如果是犧牲了性能換取的,我寧愿不要這個(gè)特性。事實(shí)上恰恰相反,分部方法的效率是非常OK的。具體就去寫個(gè)例子,觀察IL吧。哈哈!

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-01-05 15:43:13

.NET Framew

2010-01-06 18:27:06

.Net Framew

2009-08-26 14:52:19

.NET Framew

2009-07-09 09:28:19

.Net Micro

2012-01-09 16:00:56

2010-01-05 09:35:07

.Net Framew

2010-01-05 18:09:07

.NET Framew

2010-01-05 13:45:15

.NET Framew

2010-01-05 10:55:50

.NET Framew

2010-01-06 19:18:22

.NET Framew

2009-12-10 14:04:09

.Net Framew

2010-01-05 16:15:05

.NET Framew

2010-01-05 10:29:43

.NET Framew

2010-01-06 16:33:50

.Net Framew

2010-01-06 19:22:43

.NET Framew

2009-08-26 15:25:06

.NET Framew

2009-07-20 16:04:37

ASP.NET fra

2010-01-05 18:49:57

.NET Framew

2010-01-06 18:33:56

.Net Framew

2010-01-05 10:17:35

.NET Framew
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)