构建之法-读后感
大二快結(jié)束,從大二初開(kāi)始接觸項(xiàng)目的工程開(kāi)發(fā),到現(xiàn)在也差不多一年了。之前一直在用c# 結(jié)合winform開(kāi)發(fā)一些簡(jiǎn)單的桌面應(yīng)用,也看過(guò)一些是實(shí)驗(yàn)室學(xué)長(zhǎng)們用c#和其他多種技術(shù)結(jié)合
開(kāi)發(fā)出來(lái)的系統(tǒng), 接觸過(guò)其源代碼,為深入了解也曾閱讀過(guò)試著了解內(nèi)部實(shí)現(xiàn)的機(jī)制。在進(jìn)行項(xiàng)目開(kāi)發(fā)之前,帶著我們的學(xué)長(zhǎng)一直在和我們強(qiáng)調(diào)編程規(guī)范的重要性,并且給我們分析了很多不同的桌面應(yīng)用架構(gòu),等到開(kāi)始閱讀學(xué)長(zhǎng)的源代碼的時(shí)候,發(fā)現(xiàn)自己在開(kāi)發(fā)時(shí)候的很多做法都非常的幼稚,程序結(jié)構(gòu)也很松散,容易出現(xiàn)各種各樣的bug。
為此,我買了《代碼大全第二版》,初看書(shū)名相信很多人都會(huì)認(rèn)為書(shū)里面會(huì)有很多的實(shí)例和源代碼,可惜事實(shí)并非如此,這本書(shū)其實(shí)講的是一個(gè)項(xiàng)目開(kāi)發(fā)的完整流程,從開(kāi)發(fā)語(yǔ)言的選擇單元測(cè)試,后期維護(hù),可謂詳細(xì)至極。《代碼大全》的內(nèi)容非常之多,一千多多頁(yè)內(nèi)容,我雖然沒(méi)有完全看完,但是從這本書(shū)中我開(kāi)始接觸一些工程的思想,真正開(kāi)始了解功能項(xiàng)目的開(kāi)發(fā)流程。
到后來(lái),我不斷的將我從《代碼大全》中看到的技巧運(yùn)用到實(shí)際開(kāi)發(fā)的過(guò)程中,我開(kāi)始注重代碼的可重用性,項(xiàng)目模塊話構(gòu)建等。其實(shí),一開(kāi)始用這些技巧并不是非常的順利,為了實(shí)現(xiàn)模塊化,代碼的可重用性,我需要從大的角度去考慮整個(gè)程序的架構(gòu)問(wèn)題,各種對(duì)象之間的關(guān)系,各種模塊之間的聯(lián)系等。這給我的開(kāi)發(fā)帶來(lái)了一定的困難,但是隨著項(xiàng)目代碼量的增加,我發(fā)現(xiàn)我之前努力遵從的規(guī)范和要求給我的后期開(kāi)發(fā)帶來(lái)了很大便利,我不用再為實(shí)現(xiàn)一個(gè)功能在不同的地方書(shū)寫(xiě)相同或者類似的代碼,重用代碼給我減少了很大的工作量。同時(shí),各個(gè)模塊之前的接口調(diào)用等仔細(xì)的安排也保證了程序的穩(wěn)定性。我慢慢的嘗到了軟件工程的甜頭。
再后來(lái),偶然聽(tīng)到同學(xué)講起一個(gè)名詞,叫做設(shè)計(jì)模式。這對(duì)我可是一個(gè)全新的概念,什么是設(shè)計(jì)模式?它在我的項(xiàng)目開(kāi)發(fā)過(guò)程中有什么作用呢?帶著好奇,我去天貓買了一本書(shū)相關(guān)的書(shū)籍《Head First 設(shè)計(jì)模式》,Head First是一個(gè)系列的書(shū)籍,這個(gè)系列有一個(gè)共同的特點(diǎn),那就是通過(guò)通俗易懂的方法給讀者講述各種技術(shù)的難點(diǎn)。這對(duì)我這個(gè)對(duì)設(shè)計(jì)模式一無(wú)所知的人來(lái)說(shuō),正好合適呢。打開(kāi)書(shū)開(kāi)始閱讀,開(kāi)篇將的便是工廠模式,書(shū)中將工廠模式的優(yōu)缺點(diǎn),具體實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程中每一步的來(lái)龍去脈都介紹的非常清楚,在看工廠模式的過(guò)程中,我總覺(jué)得這種設(shè)計(jì)模式非常的熟悉,我好像在那個(gè)地方看到過(guò)這種方式的具體實(shí)現(xiàn),或者我自己也曾這么寫(xiě)過(guò)。在翻閱了一會(huì)自己之前寫(xiě)過(guò)的代碼之后,我就找到了工廠設(shè)計(jì)模式的影子,啊哈,原來(lái)這種設(shè)計(jì)模式我在我的項(xiàng)目中運(yùn)用過(guò),真是巧啊。慢慢的我開(kāi)始往后看,接觸到了觀察者模式,裝飾者模式,命令模式等等等等,這些設(shè)計(jì)模式各有春秋,在不同的系統(tǒng)需求中有著不同運(yùn)用效果,在搭建項(xiàng)目的框架的時(shí)候,選擇一個(gè)好的設(shè)計(jì)模式至關(guān)重要,書(shū)中講的20多個(gè)的設(shè)計(jì)模式,都有著不同的應(yīng)用場(chǎng)景,在實(shí)際使用過(guò)程中要根據(jù)實(shí)際需求謹(jǐn)慎選擇。
看到這,我要向各位讀者道歉。我并沒(méi)有看過(guò)《構(gòu)建之法》這本書(shū),只是有所耳聞。對(duì)于軟件工程的開(kāi)發(fā),我覺(jué)得不是一本書(shū)就可以教會(huì)的,它需要我們這些編程人員通過(guò)不斷的學(xué)習(xí)不斷的嘗試在實(shí)際工程項(xiàng)目中總結(jié)經(jīng)驗(yàn)。如果僅僅照搬教科書(shū)上的那套,依著葫蘆畫(huà)瓢是很難領(lǐng)悟到的這些精妙的方法的真諦的。這,我在開(kāi)發(fā)的過(guò)程中深有體會(huì),所以,要想真正去掌握軟件工程里面所講述的方法和總結(jié)出來(lái)的經(jīng)驗(yàn),我們還需要不斷的實(shí)踐和摸,學(xué)習(xí)是一個(gè)過(guò)程,我愿意不斷付出!!!
轉(zhuǎn)載于:https://www.cnblogs.com/pjCoder/p/5579277.html
總結(jié)
- 上一篇: 黄山风景区门票60周岁以上有优惠吗
- 下一篇: 火苗是谁唱的啊?