天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

從WPF想開(kāi)去

  一看,又4個(gè)月沒(méi)發(fā)文章了,這4個(gè)月除去春節(jié)奔波,基本上一直在加班,在中國(guó)做程序員總是與外國(guó)同行不一樣,起跑線上輸?shù)煤軈柡ΑF鋵?shí)按照《人件》統(tǒng)計(jì),程序員一天如果能順流超過(guò)3個(gè)小時(shí),基本上就可以秒殺絕大多數(shù)問(wèn)題了。問(wèn)題是在我們現(xiàn)行的工作環(huán)境下,經(jīng)常是一天連一分鐘順流都進(jìn)入不了,必須是各種打擾,各種打斷,看似提升了效率,事實(shí)上是降低了效率。而且,絕大多數(shù)時(shí)間,我們可能花在了調(diào)試錯(cuò)誤上,而非本身的邏輯問(wèn)題上。這樣,一天比老外多工作幾個(gè)小時(shí)——以完成同樣的目的——就是很正常的了。

  呵呵,說(shuō)著要說(shuō)WPF的,怎么發(fā)了一堆牢騷,其實(shí)論環(huán)境,比起很多人來(lái),我可能已經(jīng)是蒙受了很多恩惠了。每天至少有一些充電的時(shí)間和機(jī)會(huì),不說(shuō)廢話了,接下來(lái)還是進(jìn)入正題吧,WPF。

  Windows Presentation Foundation,這是微軟2006年提出的,雖然看似比Forms簡(jiǎn)單,但其實(shí)發(fā)展?jié)摿艽蟆?/p>

  MFC對(duì)我是噩夢(mèng),System.Windows.Forms沒(méi)有好多少(當(dāng)然,有朋友說(shuō)我連Forms的1%都沒(méi)發(fā)揮出來(lái))。這兩個(gè)庫(kù)一個(gè)比較大的問(wèn)題是在于表現(xiàn)與內(nèi)容是分開(kāi)的。Forms已經(jīng)添加了數(shù)據(jù)綁定,這個(gè)還不錯(cuò),但是也沒(méi)有能從根本上解決問(wèn)題,很多時(shí)候我們把精力花在了處理數(shù)據(jù)的表現(xiàn)上。這其實(shí)引入了很多不確定的因素,并導(dǎo)致了潛在的錯(cuò)誤增加。

  WPF我一開(kāi)始是很排斥的,當(dāng)看到它的數(shù)據(jù)綁定之后,感覺(jué)非常好用——在編寫(xiě)XAML的時(shí)候,只需要很簡(jiǎn)單的語(yǔ)法,就可以把一個(gè)控件真正的變成一個(gè)數(shù)據(jù)本身。數(shù)據(jù)變化則控件的表現(xiàn)形態(tài)變化,而且這一切是以比Forms和MFC更好的方式來(lái)做的——調(diào)用約定。實(shí)現(xiàn)一個(gè)接口,就可以讓控件知道它如何去反映一個(gè)數(shù)據(jù)本身。這樣,對(duì)于“從數(shù)據(jù)到表現(xiàn)”,就是若干約定,人們信守了約定,就可以把數(shù)據(jù)真正映射成為表現(xiàn),而更關(guān)鍵的是這些約定的重用就成為了可能。

  我們看《設(shè)計(jì)模式》,一個(gè)最大的感覺(jué)就是,這不是具體的編碼方法,而是一種約定的方法。一定要有這樣幾個(gè)組成部分,它們之間如何通信,如何交互,但是每個(gè)組成部分本身的自由自在,是沒(méi)有人去限制的。

  我感覺(jué),程序是用來(lái)描述“客觀實(shí)在”的,也就是說(shuō)程序是用來(lái)描述其所面對(duì)的一個(gè)體系的特性的。這些特性包括,體系包含著哪些概念?概念與概念之間的相互關(guān)系如何?一開(kāi)始,我們認(rèn)為一個(gè)體系有若干流程,數(shù)據(jù)是在流動(dòng)的,控制是在流動(dòng)的——因此有了基于過(guò)程的程序設(shè)計(jì),這是一切的根本。后來(lái),我們發(fā)現(xiàn),體系內(nèi)部的概念往往本身就代表了一系列的數(shù)據(jù)和控制集合——因此就有了基于對(duì)象的程序設(shè)計(jì)。后來(lái),我們發(fā)現(xiàn),為了增加擴(kuò)展性,體系內(nèi)部可以有一些小概念來(lái)描述一個(gè)個(gè)獨(dú)立個(gè)體,然后由這些獨(dú)立個(gè)體多態(tài)組合為一個(gè)真正的行為個(gè)體——因此有了面向?qū)ο蟮某绦蛟O(shè)計(jì)。最后,我們發(fā)現(xiàn)對(duì)象爆炸了,數(shù)據(jù)也會(huì)變化,控制也會(huì)變化,世界上的一切都在變化,還有什么是不變化的呢?契約。——于是就有了WPF。

  當(dāng)然最后一句是開(kāi)玩笑的。契約的意思就是我不管你怎么做,我只要你提供給我什么結(jié)果,或者我告訴你我要給你什么通知——約定最好的實(shí)現(xiàn)方式就是接口,而不是實(shí)體類,因?yàn)轭悗в辛藬?shù)據(jù),這就難免影響實(shí)現(xiàn)者對(duì)于一個(gè)問(wèn)題的判斷。

  WPF和2006年出現(xiàn)的其他一些技術(shù)一樣,就是對(duì)這個(gè)問(wèn)題的一個(gè)回答。數(shù)據(jù)——其實(shí)就是概念——你愛(ài)變不變,愛(ài)怎么變?cè)趺醋儯瑢?duì)于WPF而言,需要的就是你去實(shí)現(xiàn)一個(gè)接口,就可以把你的概念容納到我的系統(tǒng)中來(lái)。

  在工作中,我發(fā)現(xiàn)很多人很可能忽視了UI系統(tǒng)的重要性——UI系統(tǒng)其實(shí)就是一個(gè)最簡(jiǎn)化的游戲系統(tǒng),設(shè)計(jì)UI系統(tǒng)的方案中間包括了你游戲系統(tǒng)中可能面對(duì)的基本問(wèn)題和基本思路。很多人喜歡從一些具體的細(xì)枝末節(jié)去考慮這個(gè)問(wèn)題,比如誰(shuí)的UI實(shí)現(xiàn)了訂閱者模式,誰(shuí)的UI實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng),誰(shuí)的UI實(shí)現(xiàn)了腳本驅(qū)動(dòng),誰(shuí)的UI酷,炫。但其實(shí)更核心的是來(lái)參考這個(gè)UI系統(tǒng)的構(gòu)成——基于白盒理念(繼承)的設(shè)計(jì)還是基于黑盒理念(訂閱者)的設(shè)計(jì),兩者如何融合?是否區(qū)分了設(shè)計(jì)時(shí)(Designer)和運(yùn)行時(shí)。等等之類的問(wèn)題。

  WPF在這個(gè)方面可能能帶來(lái)一些新的想法和思路——不同于我們浪費(fèi)唇舌于MFC的繼承機(jī)制和Forms的繼承+訂閱機(jī)制誰(shuí)更優(yōu)秀的新的思路,基于約定而設(shè)計(jì)一個(gè)體系的思路,基于契約而設(shè)計(jì)一個(gè)體系的思路,基于組件和模塊而設(shè)計(jì)一個(gè)體系的思路。

  因?yàn)轶w系,之所以要提出體系,就是為了能容納更多的人進(jìn)入到體系之中。這就好比原始的工廠和流水線工廠的區(qū)別。原始的工廠體系下,一個(gè)人需要處理一個(gè)零件從頭到尾的全過(guò)程。而流水線下面,一個(gè)人只需要完成確定模塊的確定任務(wù)。如果說(shuō)流水線極大地提升了人類的勞動(dòng)生產(chǎn)率,那么我相信一套優(yōu)秀的體系設(shè)計(jì)同樣能帶來(lái)這樣的好處——如果它可以讓每個(gè)模塊的參與者不知道其它模塊的存在,那么這樣的理想境界至少是降低了大量的學(xué)習(xí)和調(diào)試的成本。無(wú)數(shù)次的實(shí)踐證明,模塊內(nèi)部的錯(cuò)誤很好抓,跨模塊的錯(cuò)誤將是致命的。

  參與項(xiàng)目的人越來(lái)越多,牛人也越來(lái)越多,現(xiàn)在的游戲開(kāi)發(fā)已經(jīng)不再是那個(gè)連找人都困難的時(shí)代了。接下來(lái)的問(wèn)題,難道還是誰(shuí)能做個(gè)好效果,誰(shuí)能做個(gè)酷編輯器的問(wèn)題么?在目前所從事的這個(gè)項(xiàng)目中,我感受到了一次深刻的碰撞,我看到一個(gè)構(gòu)架堪稱完美的服務(wù)器,在需求的沖擊面前屹立不倒,也看到過(guò)一個(gè)崩潰的UI,對(duì)新需求近乎沒(méi)有耐受能力。我認(rèn)為,好的體系的設(shè)計(jì)并非只是空中樓閣,它不過(guò)就是程序設(shè)計(jì)到了一定階段,接近于社會(huì)化大生產(chǎn)之前,必然而然所面對(duì)的客觀規(guī)律。如果認(rèn)識(shí)到了這個(gè)規(guī)律,并且在實(shí)際的生產(chǎn)生活中應(yīng)用了這些規(guī)律,至少能得到一些必要的收益。

  你可以不知道,并非你無(wú)權(quán)知道,而是因?yàn)槟阌袡?quán)不知道。

NET技術(shù)從WPF想開(kāi)去,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 51国产午夜精品免费视频 | 67194成网页发布在线观看 | 8090碰成年女人免费碰碰尤物 | 武汉美女洗澡 | 男女边吃奶边做边爱视频 | 天天躁夜夜踩很很踩2022 | 99精品免费在线观看 | 拔擦拔擦8X永久华人免费播放器 | 久久综合给会久久狠狠狠 | 日本少妇无码精品12P | 亚洲色图另类小说 | 国产啪精品视频网免费 | 青青涩射射| 亚洲成人99 | 久久只有这里有精品4 | 日本在线高清不卡免费播放 | 国产成人精品亚洲线观看 | 在线免费视频国产 | 免费一级毛片在线观看 | 92午夜理论第1000集 app | 日本免费xxx | 俄罗斯女人Z0ZOZO | 超碰在线 视频 | 超碰在线线公开免费视频 | 亚洲精品成人无码A片在线 亚洲精品成人久久久影院 亚洲精品成人a在线观看 | 尤物99久久久合集一区区 | 国产在线AV一区二区香蕉 | 久久久久久久久亚洲 | 亚洲人日本人jlzzy | 欧美精品99久久久啪啪 | 亚洲男女羞羞无遮挡久久丫 | 老女老肥熟国产在线视频 | 94色94色永久网站 | 放射源分类办法 | 国产精品丰满人妻AV麻豆 | 两个客户一起吃我的奶 | 99久久婷婷国产麻豆精品电影 | 被黑人群jian又粗又大H | 性夜影院午夜看片 | 男人到天堂a在538线 | 午夜福利体验试看120秒 |