• <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>

            一路走來(lái),只有C++和香煙最實(shí)在!

            Just Dive Into!

            C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
              11 Posts :: 0 Stories :: 29 Comments :: 0 Trackbacks
               看到電腦上一張張美麗的航片的時(shí)候,終于是出來(lái)哦,哎!最近忙活了大半個(gè)月俺終于還是把這個(gè)工具整出來(lái)了哦?;叵肫饋?lái)開(kāi)發(fā)這個(gè)工具的時(shí)候的種種,說(shuō)實(shí)話 真是折磨人哦,幾易其稿,系統(tǒng)的架構(gòu)就改過(guò)好幾次哦,基本上是一個(gè)星期改一次。
            在這個(gè)過(guò)程中收獲還是不少的哦,痛并快樂(lè)著,不能不佩服老大的架構(gòu)的思想,在英明神武的老大的指導(dǎo)下開(kāi)發(fā)出一個(gè)基本上比較符合面向?qū)ο蟮能浖?,其中的編程思想的沖擊是巨大的哦,顛覆了我以前做程序的很多固有觀點(diǎn)。
            首先來(lái)說(shuō)說(shuō)該工具的需求,對(duì)已有的大尺寸的航片進(jìn)行切割,切割出給定寬高的航片,在提層合并航片。具體來(lái)說(shuō)就是如果有一張1024 * 1024的航片切割成8 * 8張 128*128大小的航片為第零層,提層比率為2,則第1層就是原航片的256*256大小的,但是要保存為128 *128的航片 這樣的航片有4 *4張,依次類推,第2層 第 3層...,還有這些航片的編號(hào)以LLXXXYYY編號(hào),坐標(biāo)原點(diǎn)為航片左下角,ll為層數(shù),XXX為X軸上航片編號(hào),YYY為Y軸上的航片的編號(hào)。
            剛開(kāi)始聽(tīng)到這個(gè)需求的時(shí)候確實(shí)是沒(méi)有什么頭緒,研究了一下libtiff就開(kāi)始搞了哦,剛開(kāi)始的時(shí)候很快就把航片的讀寫搞定了,以為會(huì)很快就解決問(wèn)題啦,悶著頭在那里狂寫代碼,第一版交給老大,被鄙視的不行哦,首先因?yàn)樾枨鬀](méi)有理解清楚,自己理解的圖像編號(hào)和老大所說(shuō)的圖像編號(hào)的順序不同哦,回過(guò)來(lái)改代碼發(fā)現(xiàn)居然無(wú)從下手,還有就是老大要生成航片處理的結(jié)果,也無(wú)法在代碼中體現(xiàn)。說(shuō)實(shí)話當(dāng)時(shí)心里還是比較嘀咕的,覺(jué)得老大交代問(wèn)題沒(méi)有交代清楚,后來(lái)老大說(shuō)的一句話還是比較有道理的,客戶的需求是不斷變化的,你要是想讓用戶來(lái)適應(yīng)你的設(shè)計(jì)是不可能的,你的設(shè)計(jì)應(yīng)該是自適應(yīng)的,能夠應(yīng)對(duì)客戶不斷變化的需求。聽(tīng)完這句話,只有無(wú)語(yǔ)接著在那里寫代碼,等我寫的七七八八了,老大有空看了一下我的代碼,繼續(xù)鄙視我哦,為何?模塊劃分不清,UI層中有太多航片處理的邏輯,航片處理模塊中也有太多的航片編號(hào)的邏輯。一句話 整個(gè)代碼只是為做實(shí)現(xiàn)這個(gè)功能,毫無(wú)擴(kuò)展性,如果以后在在上面添加功能基本上是沒(méi)有可能。
            哎!老大當(dāng)時(shí)這樣說(shuō)了,讓我修改代碼,當(dāng)時(shí)真是想死的心都有了哦,修改也不知道怎么下手,和老大探討了半天,終于是定下了架構(gòu),呵呵當(dāng)然啦,主要還是老大定的架構(gòu)。這次交流收獲還是不少的哦。
            做軟件首先應(yīng)該定下的是輸入和輸出,確定數(shù)據(jù)的流向。從UI層定義輸入,確定盡可能少的輸入?yún)?shù),從輸出確定數(shù)據(jù),輸入?yún)?shù)到輸出之間確定數(shù)據(jù)的流向,對(duì)數(shù)據(jù)的流向進(jìn)行功能上的劃分,確定不同的模塊,模塊之間盡可能少的耦合性,如果一個(gè)數(shù)據(jù)和操作是相互關(guān)聯(lián)的則可以視為一個(gè)對(duì)象,對(duì)象的設(shè)計(jì)應(yīng)該考慮到擴(kuò)展性,盡可能的從一個(gè)基類派生,為以后擴(kuò)展提供基礎(chǔ),使用工廠模式來(lái)確定不同的對(duì)象。還有就是UI與底層數(shù)據(jù)處理模塊應(yīng)該沒(méi)有關(guān)聯(lián),通過(guò)一個(gè)處理模塊來(lái)出來(lái)UI和底層模塊之間的交換。
              哎,這樣做下來(lái),我的工具有5個(gè)模塊,一個(gè)處理編號(hào)生成的模塊A,一個(gè)參數(shù)保存的模塊B,一個(gè)處理航片讀寫的模塊C,一個(gè)生成切割航片的模塊D,一個(gè)與UI交互和與底層交互的模塊E,它們之間的依賴關(guān)系為 E依賴于A D, A依賴于B, D依賴于C,這樣模塊間依賴清楚,接口也定義的明確。
            收獲哦!有一種豁然開(kāi)朗的感覺(jué),以后有機(jī)會(huì)獨(dú)立開(kāi)發(fā)的時(shí)候應(yīng)該多想想這樣的問(wèn)題,爭(zhēng)取早日有所成就哦!
            posted on 2008-12-22 23:13 Richard Liu 閱讀(714) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            国产一区二区精品久久岳| 久久伊人五月丁香狠狠色| 91精品国产9l久久久久| 久久AAAA片一区二区| 久久久无码精品午夜| 久久超乳爆乳中文字幕| 亚洲欧美久久久久9999| 欧美精品一本久久男人的天堂| 久久夜色精品国产亚洲| 久久精品天天中文字幕人妻 | 国产一级持黄大片99久久| 99久久做夜夜爱天天做精品| 久久这里只有精品18| 狠狠综合久久AV一区二区三区| 久久精品亚洲男人的天堂| 久久99国产精品久久久| 亚洲欧美久久久久9999| 91久久成人免费| 99久久精品国产一区二区三区| 久久国产AVJUST麻豆| 精品久久久久久99人妻| 国产精品久久久久久久久免费| 亚洲国产香蕉人人爽成AV片久久| 99久久婷婷免费国产综合精品| 久久精品成人欧美大片| 日韩人妻无码一区二区三区久久| 国产巨作麻豆欧美亚洲综合久久| 国产精品九九久久免费视频| 久久香蕉超碰97国产精品| 久久婷婷色综合一区二区| 亚洲精品美女久久久久99小说| 91精品国产高清久久久久久91| 97精品国产91久久久久久| 日韩精品久久无码中文字幕| 久久天天躁夜夜躁狠狠躁2022| 久久有码中文字幕| 亚洲国产精品无码久久九九| 婷婷久久综合九色综合九七| 久久精品国产亚洲av麻豆蜜芽| 午夜福利91久久福利| 亚洲人成无码久久电影网站|