青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我的玻璃盒子

[轉載]談談我理解的WPF團隊模型——在UI Designer與Developer之間

作者:周銀輝

原文出處:http://www.cnblogs.com/zhouyinhui/archive/2008/01/17/1042740.html

1,舊的模式已經不再適用

首先看看如果我們將舊的(.net3.o之前)模式直接引入到WPF中將是如何工作的。無論采用什么樣的溝通方式,我們需要Developer和UI Designer之間對軟件的功能達成共識,然后我們可以得到當前界面的大體Layout,OK,這個被驗證和確定以后,UI Designer會細化他的工作,提出一些她的一些新觀念,軟件UI風格,然后細化出一張張的效果圖(利用PhotoShop,PowerPoint等等)。接下來,Developer所要做的事情是:"照葫蘆畫瓢",照著UI Designer的效果圖,再Blend中將其模擬出來,以便形成可供程序使用的XAML。我們可以將這個過程稱之為Translate(將效果圖(PNG,Jpg)翻譯成XAML)。

這所帶來的問題:

(1)UI Designer的大部分"產出"的丟失,我們知道UI Designer除了告訴我們UI應該是怎樣來展現以外,其設計過程中的大部分作品被拋棄掉了(比如設計了很長時間才做得很漂亮得一個按鈕圖片),這是由于其產出不能直接用到我們的Project中(我們要得是XAML而不是PNG,Jpg)。到最后UI Designer那邊好像僅僅給我們提供了很多idea,而沒有實質性的東西輸出給我們以便用于我們的的Project.

(2)Developer這邊"費力不討好"。所謂"費力"指的是就大多數Developer而言本身就不擅長繪圖(即便您有Blend這類傻瓜式的工具),所以你很難得再Blend中將美工那邊提供的圖形完全模擬出來,所以,Designer那邊有意見了,您將人家美麗的藝術品轉化得一團糟糕了。即便某某很牛,模擬出來了。仍然"不討好",因為這是重復勞動,Developer再Blend中做得這部分工作事實上美工再Photoshop(或其它)中已經做過一次了。

一個可能得疑問是:為什么不讓UI Designer們再Expression Blend或Expression Design中工作呢?先說在Expression Blend中工作,除了培訓成本(我想這個培訓成本應該是相當高的)以外,就大多數UI Design團隊而言面臨的最嚴重的問題是:他們沒有軟件開發的觀念和知識,無法將他們融和到開發流程中來,如果他們負責Blend這塊的話,他們的一舉一動將直接影響軟件的性能和功能。比如他們不會按照Developer的觀念來合理組織資源,他們不會考慮XAML代碼對性能的影響,沒有模塊話的觀念,不會顧忌軟件的可維護性,穩定性。他們只會關心"這樣的界面簡直太漂亮太好用啦"。那么結果可想而知。再說Expression Design,事實上這是可行的,如果老板愿意出這部分培訓費用和培訓時間以及UI Designer樂于使用新工具的話。

2,新的模式有那些?

新的模式有好幾種,這取決于團隊中成員的技能和職責,但我比較推薦的有兩種。

(1)集成模式

從WPF角度看,團隊中除了UI Designer和Developer以外,我們再引入一個新的角色Integrator。首先看看他們各自的職責:UI Designer的職責保持不變,但我們稍稍改變一下她的"輸出",其除了輸出各種idea,布局圖,效果圖等等之外,其還將為我們輸出其它所有的圖形(比如一個漂亮的按鈕),但是以XAML的形式(這會用到一些插件或小工具,你可以在這里找到http://www.cnblogs.com/zhouyinhui/archive/2007/12/08/987928.html)。請注意,其輸出的是一些松散的XAML零部件,僅僅描述了圖形,沒有Style,Template,Trigger,Resource等概念。這樣UI Designer既不會改變慣有的工作方式,又可以專注與圖形和用戶體驗。而Developer的職責也保持不變,其專注于后臺邏輯,但放棄對界面的所有權,其是C#(或其它)的擁有者。而Integrator將致力于他們兩者之間的結合,其負責將從UI Designer那里得到的松散的XAML按照軟件開發者的觀念在Blend中組合成真正的項目中的零部件,比如其將負責Template,Style,Animation以及界面的模塊化,資源的組織,考慮其可維護性,穩定性,對性能的影響等等,其是XAML與Blend的擁有者。

這有一些明顯的好處:

(i) 沒讓成員做不擅長的事。在舊模式中,讓Developer在Blend中繪制出藝術品或者讓UI Designer按照開發者的觀念來管理Blend端顯然是強人所難,并且這也會分散他們的精力甚至帶來抱怨。但目前的模式將這些負擔轉移出去了。

(ii) 避免了重復勞動。舊模式中,Developer來"翻譯"UI Designer的成果的勞動是重復和痛苦的。而當前模式中圖形的XAML直接來自于UI Designer。我們需要做的僅僅是整合。

(iii) 避免了實際"翻譯"出來的UI與設計時的UI的不一致。兩者差距有多大完全取決于Developer的"翻譯"能力,但往往效果時不理想的,以至于UI Designer覺得自己的藝術品被扭曲了。

(iv) 有人專注于Blend端,那么軟件的表現層端質量將更高,更容易維護。

(2)收割模式

從WPF角度來看,這個模式中只有兩個角色: UI Designer與Developer。這個模式對UI Designer的要求較高,其需要能熟練使用Blend來創造一些成品供Developer"收割"。比如我們需要一個漂亮的按鈕,那么UI Desinger直接輸出給我們該按鈕的Style。其甚至可以輸出其它更復雜的東西,比如UserControl(不可能是CustomControl,因為他們不會寫程序邏輯,除非和Developer合作)。他們的工作是在解決方案中的某個輔助項目中完成了,而負責軟件的真正表現的Blend端由Developer來負責,因為這里需要考慮很多軟件開發的東西。

該模式同樣擁有集成模式的各種好處并且與集成模式相比,UI Designer更加融入到了項目開發過程中,但對UI Designer的要求較高。

其它一些建議:合理地整合Blend端,如果發現XAML文件過大就模塊化。保持UI項目始終能用Blend打開,否則將導致團隊中某些角色出局或工作起來很麻煩。別讓界面和邏輯耦合在一起,如果發現邏輯對界面元素引用過多,那么可能在Binding,Trigger,Resource等方面做得不夠好。另外,相比之下,我更推薦第一種模式,我在這種模式下工作了不短時間,Integrator是我的職責之一。

posted on 2008-01-17 23:03 深藍色系統 閱讀(371) 評論(0)  編輯 收藏 引用 所屬分類: 程序人生


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

統計

常用鏈接

留言簿(75)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品1314www| 欧美中文字幕在线播放| 免费在线一区二区| 欧美一级黄色网| 久久久久一区二区三区四区| 国产午夜精品麻豆| 精品成人在线| 在线观看日产精品| 久久精品九九| 欧美极品在线观看| 欧美日韩美女在线| 欧美日韩精品三区| 欧美性猛交xxxx乱大交退制版 | 欧美一级视频| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品久久网站| 欧美精品一区二区三区在线看午夜 | 在线观看一区| 欧美日本乱大交xxxxx| 老司机免费视频久久| 久久精彩视频| 久久精品日韩一区二区三区| 欧美有码在线观看视频| 亚洲女同性videos| 亚洲视频在线观看一区| 欧美亚洲一区| 午夜激情一区| 欧美精品久久一区| 午夜在线观看免费一区| 99精品国产99久久久久久福利| 欧美成人精品| 国产欧美日韩在线视频| 在线播放视频一区| 亚洲最新中文字幕| 亚洲另类一区二区| 欧美亚洲动漫精品| 伊人久久综合| 夜夜嗨一区二区| 久久一区二区三区国产精品| 欧美一区二区在线观看| 久久天堂av综合合色| 美女精品视频一区| 亚洲一级免费视频| 裸体女人亚洲精品一区| 欧美日本免费| 1769国内精品视频在线播放| 91久久久一线二线三线品牌| 亚洲伦理自拍| 免费日韩视频| 性亚洲最疯狂xxxx高清| 欧美精品日韩综合在线| 亚洲激情国产| 久久精品国产视频| 亚洲视频在线观看免费| 欧美精品成人91久久久久久久| 国产精品久久久久久久9999| 国语自产精品视频在线看一大j8 | 亚洲一区尤物| 亚洲黑丝在线| 亚洲国产精品成人va在线观看| 一区二区三区波多野结衣在线观看| 亚洲欧美国产毛片在线| 欧美电影免费观看高清完整版| 久久成人精品| 国产亚洲欧美激情| 久久久999国产| 国产亚洲综合性久久久影院| 久久av免费一区| 亚洲一区二区在线看| 国产精品性做久久久久久| 亚洲男人的天堂在线aⅴ视频| 亚洲六月丁香色婷婷综合久久| 欧美精品在线观看一区二区| 亚洲精品国偷自产在线99热| 亚洲精品一区在线观看香蕉| 欧美日韩国产三级| 亚洲一区精品视频| 亚洲免费一区二区| 国产香蕉97碰碰久久人人| 久久蜜臀精品av| 欧美高清视频| 午夜欧美不卡精品aaaaa| 欧美一区精品| 亚洲精品午夜| 亚洲免费在线精品一区| 在线观看不卡| 亚洲最黄网站| 韩国成人福利片在线播放| 欧美成人一二三| 欧美性大战久久久久久久| 久久精品一区二区| 欧美大片一区| 久久成人精品电影| 欧美激情亚洲视频| 欧美一区二区三区免费视| 久久综合99re88久久爱| 亚洲女人小视频在线观看| 久久精品亚洲精品国产欧美kt∨| 亚洲日本乱码在线观看| 香蕉av777xxx色综合一区| 亚洲精品国产精品国自产观看浪潮| 亚洲精品1234| 国产综合色精品一区二区三区| 亚洲精品1区| 在线播放豆国产99亚洲| 亚洲伊人一本大道中文字幕| 亚洲三级毛片| 欧美一区二区视频在线| 亚洲视频axxx| 欧美成人精品一区二区三区| 欧美一级免费视频| 欧美精品一区二区蜜臀亚洲| 久久午夜羞羞影院免费观看| 国产精品二区在线| 亚洲精品小视频| 亚洲高清自拍| 久久精品视频播放| 欧美一区二区三区精品电影| 欧美日韩直播| 亚洲精品社区| 日韩小视频在线观看| 久久综合久久综合九色| 久久精品国产视频| 国产精品一区视频网站| 亚洲精品一区二区三区在线观看 | 亚洲电影免费观看高清| 午夜久久黄色| 欧美一二区视频| 国产精品久久婷婷六月丁香| 一区二区激情| 亚洲欧美精品一区| 国产精品白丝jk黑袜喷水| 亚洲一区免费观看| 亚洲主播在线观看| 亚洲女女女同性video| 欧美日韩免费| 日韩午夜av| 亚洲在线观看免费视频| 欧美日韩精品一本二本三本| 亚洲欧洲中文日韩久久av乱码| 亚洲电影在线| 女仆av观看一区| 亚洲国产99精品国自产| 亚洲麻豆av| 国产精品va| 午夜精品久久久久久99热软件| 久久精品国产77777蜜臀| 韩国欧美一区| 欧美顶级艳妇交换群宴| 日韩一区二区久久| 亚洲欧美怡红院| 国产综合久久久久久| 欧美阿v一级看视频| 亚洲乱码国产乱码精品精| 亚洲一区欧美| 国产一区二区三区直播精品电影 | 精品91视频| 欧美大成色www永久网站婷| 亚洲毛片一区二区| 久久av一区二区三区| 今天的高清视频免费播放成人 | 久久国内精品视频| 欧美激情bt| 亚洲欧美久久久| 国色天香一区二区| 欧美精品国产| 午夜在线观看欧美| 亚洲成人在线视频播放 | 欧美成人精品一区| 亚洲天堂免费观看| 欧美ab在线视频| 亚洲一区综合| 亚洲成色999久久网站| 欧美小视频在线观看| 久久久夜夜夜| 一区二区日韩| 欧美大片免费| 欧美一区精品| 亚洲精品视频在线观看免费| 国产农村妇女精品| 欧美日韩黄色一区二区| 久久精品亚洲一区二区| 一区二区三区视频在线观看| 嫩草影视亚洲| 久久成人综合视频| 亚洲系列中文字幕| 91久久久久久| 国产丝袜美腿一区二区三区| 欧美日韩第一区日日骚| 久久一区精品| 欧美一区视频在线| 中文无字幕一区二区三区| 亚洲国产福利在线| 久久综合国产精品| 欧美一区二区性| 午夜精品影院在线观看| 亚洲小说春色综合另类电影| 欧美日韩综合另类| 欧美福利小视频| 国产日韩在线一区二区三区|