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

            DJ's c++ blog

            c++學(xué)習(xí)歷程

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            2009年10月14日 #

            啃書(shū)筆記:設(shè)計(jì)模式

            最近在啃的書(shū),都是大部頭,不方便隨身攜帶.于是,就在包里丟了本<設(shè)計(jì)模式解析>,以便平時(shí)沒(méi)事干的時(shí)候看.

            可是由于看了的很多東西都不能立刻投入到實(shí)用中,久而久之就很容易忘記.(effective那兩本就是這樣).

            于是就想在讀書(shū)的同時(shí)寫(xiě)寫(xiě)一些關(guān)鍵點(diǎn)以及理解,權(quán)當(dāng)加深記憶,還有鍛煉表達(dá)能力.

            這個(gè)坑就獻(xiàn)給<設(shè)計(jì)模式解析>,<設(shè)計(jì)模式>這兩書(shū)吧.前者是聽(tīng)到網(wǎng)上評(píng)論說(shuō)不錯(cuò),讀了再讀<設(shè)計(jì)模式>會(huì)理解的更好,于是就入了.現(xiàn)在在讀.

            由于這是剛看剛寫(xiě),如果有不正確的,希望賜教,見(jiàn)笑啦.
            ======================================================================

            內(nèi)聚性指的是類(lèi)內(nèi)部組成部分之間相互聯(lián)系的緊密程度
            耦合性指的是一個(gè)類(lèi)與其它類(lèi)之間聯(lián)系的緊密程度

            封裝變化
            用類(lèi)的聚合代替繼承

            Facade

            "為子系統(tǒng)中的一組接口提供一個(gè)統(tǒng)一的接口.Facade模式定義了一個(gè)更高層的接口,使子系統(tǒng)更加容易使用"

            Facade模式是提供一個(gè)新的,更加簡(jiǎn)單以及符合實(shí)用的接口,來(lái)使用一個(gè)復(fù)雜系統(tǒng)的子集.
            我寫(xiě)的那個(gè)俄羅斯方塊中的Console類(lèi),貌似就是符合Facade模式的,需要用的控制臺(tái)API(占總數(shù)的一小部分)封裝到Consol類(lèi)中,使得控制方塊的顯示改變更加容易.


            Adapter

            "將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口.Adapter模式使原本由于接口不兼容而不能一起工作的類(lèi)可以一起工作."

            1.例如抽象類(lèi)有接口int foo(int a,int b,bool c),其派生類(lèi)A中的foo函數(shù)已經(jīng)由另外一個(gè)函數(shù)實(shí)現(xiàn),但是函數(shù)foo2只需要兩個(gè)參數(shù),則可以如下復(fù)用代碼.
            int foo(int a,int b,bool c)
            {
               return foo2(a,b);
            }

            2.如果虛基類(lèi)Shape有多個(gè)派生類(lèi),如Point,Square,Circle等.但是其中一個(gè)派生類(lèi)已有相似實(shí)現(xiàn),如ShapeCircle,但是ShapeCircle的接口又與Shape不一致.則可在Circle中包含一個(gè)類(lèi)型為ShapeCircle的數(shù)據(jù)成員,并在接口的實(shí)現(xiàn)中運(yùn)用1,以此復(fù)用代碼.


            Strategy

            "定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái),并且使它們可相互替換.Strategy模式使算法可獨(dú)立于使用它的客戶(hù)而變化."

            (話說(shuō),這句話真是看的人云里霧里的...)

            一個(gè)類(lèi)A中,擁有許多的成員函數(shù),這些函數(shù)都需要根據(jù)一些狀態(tài)進(jìn)行不同操作.如果將A當(dāng)作基類(lèi)直接寫(xiě)相應(yīng)狀態(tài)的派生類(lèi)時(shí),隨著狀態(tài)的復(fù)雜程度增加,則會(huì)導(dǎo)致繼承層次過(guò)大,特化版本過(guò)多.
            Strategy模式則是將類(lèi)A中的函數(shù)封裝成虛基類(lèi),然后通過(guò)繼承A中的類(lèi)成員以應(yīng)對(duì)不同的狀態(tài).


            Bridge

            "將抽象與其實(shí)現(xiàn)解耦,使它們都可以獨(dú)立地變化."

            一個(gè)類(lèi)A需要調(diào)用不同的實(shí)現(xiàn)做不同的事情,如果用繼承去解決(用某種實(shí)現(xiàn)實(shí)現(xiàn)某種事情則為1個(gè)派生類(lèi)),隨著不同的實(shí)現(xiàn)(m)和不同的事情(n)的數(shù)量增長(zhǎng),會(huì)造成派生類(lèi)數(shù)量的爆炸性增長(zhǎng)(m*n).Bridge模式是把實(shí)現(xiàn)抽象,然后在A中持有實(shí)現(xiàn)的句柄,再通過(guò)動(dòng)態(tài)創(chuàng)建做事情(m+n).


            Abstract Factor

            "為創(chuàng)建一組相關(guān)或相互依賴(lài)的對(duì)象提供一個(gè)接口,而且無(wú)需指定它們的具體類(lèi)."

            @_@ 這個(gè)覺(jué)得定義的挺明確的,剛看完,還沒(méi)怎么思考過(guò),有空再補(bǔ)寫(xiě)...

            to be continue...

            posted @ 2009-10-14 20:54 DJ 閱讀(297) | 評(píng)論 (0)編輯 收藏

            2009年9月14日 #

            五子棋 靜態(tài)AI版

            點(diǎn)我下載

            源碼亂的很,沒(méi)注釋,就不放上來(lái)了.

            開(kāi)學(xué)的時(shí)候,每次復(fù)習(xí)數(shù)分就覺(jué)得惡心,一惡心就想編程,于是2天弄出了這個(gè),再加上幾天的殺蟲(chóng)和微調(diào)(弄那么久是因?yàn)槲也粫?huì)玩五子棋..)

            本來(lái)都不敢拿出來(lái)獻(xiàn)丑.后面想,反正這個(gè)blog就是要來(lái)擺自己的編程歷程中的東西的嘛,也就弄上來(lái)了.

            基于靜態(tài)判斷,如上所說(shuō),我不會(huì)玩五子棋,甚至是打敗現(xiàn)在這個(gè)版本都要費(fèi)點(diǎn)時(shí)間.所以這判斷可能會(huì)有不合理的地方,如果有心人玩過(guò)后給與指點(diǎn),則非常感謝.

            之前設(shè)想的進(jìn)階AI實(shí)現(xiàn)方法,查閱一些基本資料過(guò)后,才知道叫作極大極小值算法&剪枝優(yōu)化.沒(méi)看任何詳細(xì)資料自己實(shí)現(xiàn)..應(yīng)該得花點(diǎn)時(shí)間.可惜偏偏這段時(shí)間要較忙,要割舍編程時(shí)間給別的方面,所以沒(méi)那么快能完工.

            posted @ 2009-09-14 23:42 DJ 閱讀(278) | 評(píng)論 (0)編輯 收藏

            2009年8月18日 #

            俄羅斯方塊

            控制臺(tái)下的俄羅斯方塊.

            exe/Files/scut-dj/TetrisOnConsole.rar
            代碼/Files/scut-dj/TetrisCode.rar
            //edit 090917 自己暑假燒餅 把簡(jiǎn)單問(wèn)題復(fù)雜化了 所以消行出現(xiàn)了bug..


            因?yàn)樵谏蠈W(xué)期末,有幾個(gè)同學(xué)來(lái)找我說(shuō)寫(xiě)一個(gè)MFC下的俄羅斯方塊,因?yàn)榭紤]到自己對(duì)于MFC不是很熟,想順便學(xué)學(xué)MFC,就答應(yīng)了.
            本來(lái)打算回到家后就寫(xiě)一個(gè)在控制臺(tái)可以運(yùn)行的出來(lái),結(jié)果一回到家就開(kāi)始學(xué)車(chē),每天都蒸到傻,就沒(méi)有寫(xiě)了...

            然后最近眼看要開(kāi)學(xué)了,不寫(xiě)不行了..于是就開(kāi)始寫(xiě)了,前兩天寫(xiě)了一個(gè)初始版本,沒(méi)有調(diào)用Windows的console的API,只用刷屏(cls)的方式來(lái)下落的..看的我那個(gè)眼瞎啊...后面得知有函數(shù)可以弄的,就看鳥(niǎo)語(yǔ)版的MSDN看了一下午,弄清楚了,開(kāi)始改造..今天終于完工.

            前面說(shuō)了要寫(xiě)MFC的,為啥寫(xiě)了個(gè)控制臺(tái)的呢?那是因?yàn)槲覜](méi)有看多少M(fèi)FC啊....怨念...
            7月就斷斷續(xù)續(xù)的看完了編程珠璣,后面的習(xí)題都沒(méi)做多少,8月終于過(guò)了樁考之后時(shí)間才充裕了,開(kāi)始看<算法導(dǎo)論>,然后再實(shí)現(xiàn)了些算法,寫(xiě)了個(gè)鏈表類(lèi)什么的.就到了今天了.時(shí)間過(guò)的真快..悲劇啊.

            繼續(xù)努力..

            posted @ 2009-08-18 15:22 DJ 閱讀(601) | 評(píng)論 (3)編輯 收藏

            2009年6月18日 #

            09.06.18-最近&暑假計(jì)劃

            說(shuō)來(lái)慚愧,之前給自己訂下的一堆目標(biāo),并沒(méi)有實(shí)現(xiàn)多少個(gè).

            一個(gè)月前說(shuō)過(guò)自己的效率低整天浪費(fèi)時(shí)間...結(jié)果一個(gè)月后看回來(lái),做的到的時(shí)間也就是10天.

            沒(méi)什么成果,這個(gè)月其實(shí)只花了5天左右編東西,其余時(shí)間也只是在看書(shū)然后寫(xiě)些小東西實(shí)踐實(shí)踐而已.

            編的那東西其實(shí)就是c++的大作業(yè),MFC寫(xiě)的計(jì)算器.

            內(nèi)核我寫(xiě)的,界面舍友弄的,我改了微小部分.





            ==================================================================

            本來(lái)自己不好意思把計(jì)劃寫(xiě)出來(lái)的,怕在這高手如云的地方遭到嘲笑.

            可是現(xiàn)在想想如果寫(xiě)出來(lái)反而能激勵(lì)自己去完成吧?

            1.暑假打算看<編程珠璣I&II>&<算法導(dǎo)論>&<算法引論>&<設(shè)計(jì)模式解析>&<MFC Windows 程序設(shè)計(jì)>

            我不知道看什么書(shū)..我手頭上有這些書(shū)就先看著了.算法導(dǎo)論和MFC那本都是大部頭,不過(guò)MFC我已經(jīng)看過(guò)一些了.算法導(dǎo)論估計(jì)看不完,看一部分吧.

            2.程序的話打算按照何詠師兄的建議去實(shí)現(xiàn)一些STL的功能(auto_ptr,string,vector等,當(dāng)然應(yīng)該比較粗糙),實(shí)在慚愧,現(xiàn)在才來(lái)做.

            還有試著用MFC完成一個(gè)賬本.為什么要做這個(gè)奇怪的東西呢?應(yīng)為記得以前跟我女朋友說(shuō)過(guò)一年之內(nèi)要做一個(gè)給她用.很不幸,我食言了.

            3.調(diào)整生物鐘,盡量在1點(diǎn)前睡覺(jué)!

            所以,要努力啦!

            ===================================================================

            當(dāng)然,現(xiàn)在主要還是要忙著期末考,加油啦!

            posted @ 2009-06-18 16:30 DJ 閱讀(291) | 評(píng)論 (0)編輯 收藏

            2009年5月11日 #

            09.05.11-最近

            最近似乎都沒(méi)有怎樣的好好編程和看書(shū),五一回家的那3天就看了看<影響力>.
            然后回來(lái)的勞動(dòng)周過(guò)的更是渾渾噩噩.老被一些七零八亂的事情把時(shí)間打斷.
            我總是習(xí)慣一下子拿出連續(xù)的5.6小時(shí)來(lái)看書(shū)或者編程,那樣子看一個(gè)小時(shí)書(shū)然后去弄點(diǎn)別的事情然后又回來(lái)繼續(xù)看對(duì)我來(lái)說(shuō)真是困難.

            慚愧,最近幾乎沒(méi)有編程.
            就是之前把自己寫(xiě)的長(zhǎng)整數(shù)高精度運(yùn)算和四則運(yùn)算表達(dá)式整合在一起了,應(yīng)該是耦合度沒(méi)那么高,稍微改2行代碼就弄在一起了,然后解決了幾個(gè)bug之后就沒(méi)再弄了.
            用還用的了,只是效率不佳,1/3保留1000位小數(shù)要算個(gè)幾秒...然后設(shè)計(jì)的也惡心吧.又是類(lèi)又是函數(shù)的,亂七八糟,哪天再來(lái)大改一次吧.

            因?yàn)橐獞?yīng)付c++的大作業(yè),所以現(xiàn)在在看<深入淺出MFC>.我沒(méi)有半點(diǎn)windows編程經(jīng)驗(yàn)..頭暈?zāi)X脹的看了350多頁(yè),也只是有個(gè)模模糊糊的概念.

            更糟糕的是沒(méi)有動(dòng)手實(shí)踐.這樣真的會(huì)變成看了和沒(méi)看一樣.

            哎.感覺(jué)這段時(shí)間實(shí)在是荒廢.都沒(méi)有做些什么東西.那天何詠師兄來(lái)詢(xún)問(wèn)都感覺(jué)極其不好意思了..

            努力努力.

            爭(zhēng)取這個(gè)月能把書(shū)過(guò)一遍,自己動(dòng)手做些MFC的東西,然后再重看一次講MFC框架的部分.

            然后下個(gè)月就看看寫(xiě)寫(xiě)STL的東西啦.

            posted @ 2009-05-11 14:22 DJ 閱讀(310) | 評(píng)論 (1)編輯 收藏

            2009年4月20日 #

            四則運(yùn)算語(yǔ)法分析

            /Files/scut-dj/parsing.rar



            剛寫(xiě)好,也沒(méi)有改啥了,只支持整數(shù)不支持小數(shù),然后頭文件組織的也很惡心..
            類(lèi)設(shè)計(jì)的也差..沒(méi)有封裝數(shù)據(jù)..

            我是看了何詠師兄的文章才寫(xiě)的出來(lái)的..http://www.graphixer.com.cn/ShowWorks.asp?Type=1&ID=98

            詞法分析是自己寫(xiě)的..語(yǔ)法分析自己寫(xiě)了發(fā)現(xiàn)有些bug,然后再參考一下..弄下弄下變得和教程上一樣..罪過(guò)罪過(guò)..
            水平很有限啊.

            posted @ 2009-04-20 22:49 DJ 閱讀(775) | 評(píng)論 (2)編輯 收藏

            =v= 開(kāi)博客啦.

            水平很菜.

            本來(lái)是把自己寫(xiě)的一些弱智程序的c++代碼丟到QQ空間上面去的.

            后面發(fā)現(xiàn)不是很合適,和平時(shí)一些牢騷堆在一起,顯得比較奇怪.


            于是開(kāi)始專(zhuān)門(mén)開(kāi)blog吧.

            我還屬于菜鳥(niǎo)..所以目前是肯定不可能有啥有意義的內(nèi)容的了.

            就寫(xiě)寫(xiě)平時(shí)的學(xué)習(xí)歷程咯.


            =================================================================

            最近與牛逼的何詠師兄取得聯(lián)系,然后問(wèn)了一些現(xiàn)在該怎么學(xué)習(xí)和提高自己能力的方法.

            然后他就建議我先做一個(gè)四則運(yùn)算的語(yǔ)法分析器,然后寫(xiě)一些自己的庫(kù),例如string,vector,list什么的..

            所以最近就在研究四則運(yùn)算的語(yǔ)法分析咯.

            因?yàn)橹安恢涝~法分析結(jié)果的數(shù)據(jù)結(jié)構(gòu)是怎樣的,于是在看懂了那篇教程后,雖然明白了原理,可是在實(shí)現(xiàn)上卻遇到很多困難.

            然后參加了何詠師兄開(kāi)的一個(gè)SIG后才恍然大悟..

            不過(guò)后面幾天又沒(méi)時(shí)間了,所以做出了一個(gè)詞法分析就沒(méi)有繼續(xù)了.今晚就來(lái)嘗試下實(shí)現(xiàn)咯

            不過(guò)寫(xiě)到一半?yún)s發(fā)現(xiàn)自己理解的可能還不夠透徹,總要看一下教程才寫(xiě)的下去,不然總是腦子里面有構(gòu)想?yún)s實(shí)現(xiàn)不了的感覺(jué)..

            然后這樣的后果就是寫(xiě)出來(lái)的東西基本和教程上一樣.......

            哎.

            然后在SIG上也看到大名鼎鼎的vczh 陳梓翰師兄..不過(guò)沒(méi)有交流過(guò)..太敬畏了于是當(dāng)神膜拜..失策失策..

            ===================================================================

            然后星期六去聽(tīng)了那個(gè)軟件設(shè)計(jì)的講座...

            第一個(gè)師兄實(shí)在讓人郁悶...用一種半夜電臺(tái)情感節(jié)目主播的腔調(diào)來(lái)講東西..然后又煩,整天來(lái)反問(wèn),設(shè)問(wèn)..節(jié)奏之慢內(nèi)容之無(wú)聊(對(duì)我來(lái)說(shuō))讓人昏昏欲睡..

            然后第二個(gè)個(gè)師兄講的東西基本上可以用一句話概括."請(qǐng)到圖書(shū)館借閱<解析極限編程---擁抱變化>"

            第三個(gè)就是何詠師兄啦.他主要講了自己對(duì)于技術(shù)的一類(lèi)看法.其實(shí)我是很贊同的.~

            所以.自己也要努力啦!

            posted @ 2009-04-20 19:15 DJ 閱讀(455) | 評(píng)論 (6)編輯 收藏

            僅列出標(biāo)題  
            午夜久久久久久禁播电影| 香港aa三级久久三级老师2021国产三级精品三级在 | 久久人人爽人人爽人人片av麻烦| 伊人热热久久原色播放www| 亚洲国产精品无码久久一线| 99久久久精品| 久久这里有精品| 热久久这里只有精品| 久久妇女高潮几次MBA| 亚洲国产天堂久久综合网站| 久久久久久精品免费免费自慰| 久久久精品国产sm调教网站| 婷婷久久综合九色综合绿巨人| 国产精品对白刺激久久久| 久久91精品国产91| 国产99久久九九精品无码| 久久ww精品w免费人成| 一本久道久久综合狠狠躁AV| 国产精品久久久久久搜索| 久久久久波多野结衣高潮| 精品国产乱码久久久久久浪潮| 日产精品久久久久久久| 国产精品久久久香蕉| 久久精品一区二区影院| 日韩一区二区久久久久久| 久久青青草原亚洲av无码app| 久久亚洲日韩看片无码| 亚洲欧美国产精品专区久久| 国产精品欧美久久久久无广告| 久久夜色精品国产亚洲| 国产欧美一区二区久久| 777米奇久久最新地址| 久久精品无码专区免费东京热| 久久热这里只有精品在线观看| 日日狠狠久久偷偷色综合96蜜桃| 精品熟女少妇aⅴ免费久久| 国产精品免费久久久久电影网| 国产亚洲成人久久| 久久久久97国产精华液好用吗| 久久精品国产精品亚洲| 色婷婷久久综合中文久久一本|