日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

设计模式(二)设计模式的本质

發(fā)布時(shí)間:2023/12/10 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式(二)设计模式的本质 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

簡(jiǎn)介

設(shè)計(jì)模式是計(jì)算機(jī)前輩們,總結(jié)項(xiàng)目開發(fā)成敗經(jīng)驗(yàn),得出的一套最佳實(shí)踐理論。它并不是高高在上、不切實(shí)際的理論,而是具體到代碼編寫層面的指導(dǎo)理論。

從學(xué)習(xí)編寫代碼開始,我們就被教導(dǎo),要寫高內(nèi)聚、低耦合、可復(fù)用、可擴(kuò)展的代碼。但是具體要怎么做呢?設(shè)計(jì)模式給出了答案。所以,我們之所以要學(xué)習(xí)設(shè)計(jì)模式,是因?yàn)樗梢越虝?huì)我們,如何實(shí)現(xiàn)代碼的高內(nèi)聚、低耦合、可復(fù)用,從而提高項(xiàng)目的可維護(hù)性,降低項(xiàng)目失敗風(fēng)險(xiǎn),提高項(xiàng)目質(zhì)量。正因如此,設(shè)計(jì)模式是每個(gè)開發(fā)人員的必修課。

理解

但是,我們?cè)趯W(xué)習(xí)設(shè)計(jì)模式的時(shí)候,常常因?yàn)闆]有抓住設(shè)計(jì)模式的本質(zhì),而迷失于設(shè)計(jì)模式的叢林中。只有緊緊抓住設(shè)計(jì)模式的本質(zhì),從而更加省時(shí)省力地將其掌握,才能更深入理解其內(nèi)涵,并且知道什么時(shí)候該用、什么時(shí)候不該用、具體應(yīng)該用哪個(gè)設(shè)計(jì)模式。如果無法分析如何使用設(shè)計(jì)模式、使用設(shè)計(jì)模式會(huì)付出哪些成本、帶來什么影響,這將會(huì)給項(xiàng)目帶來更多的風(fēng)險(xiǎn)和麻煩。也就是說,如非必要,不要使用設(shè)計(jì)模式;如果用,就要用對(duì)。

網(wǎng)絡(luò)上的一些自稱通俗易懂講解設(shè)計(jì)模式的文章,其實(shí)看下來,并沒有讓我們理解設(shè)計(jì)模式的本質(zhì)。

筆者認(rèn)為,本質(zhì)這種東西用一兩句話就應(yīng)該可以描述出來,并且能描繪出被研究對(duì)象共同的特征。

本質(zhì)

回歸正題,設(shè)計(jì)模式的本質(zhì)是什么?用一句話概括,設(shè)計(jì)模式的本質(zhì)就是教你怎么封裝。

想象一下這樣一個(gè)過程。你不用設(shè)計(jì)模式,實(shí)現(xiàn)了某個(gè)功能,軟件正常運(yùn)行,一切正常。
但是為了提高代碼的質(zhì)量,你準(zhǔn)備重構(gòu)現(xiàn)有的代碼。
通過分析發(fā)現(xiàn),某些代碼段的使用頻率很高,我們可以將其稱作“熱代碼”。對(duì)于熱代碼,我們不想一遍一遍的敲,想要節(jié)省時(shí)間和精力。實(shí)現(xiàn)這個(gè)目的的方法就是把熱代碼封裝起來。

只有通過適當(dāng)?shù)姆庋b,才能實(shí)現(xiàn)代碼的高內(nèi)聚、低耦合、可復(fù)用、可擴(kuò)展。所以,設(shè)計(jì)模式的本質(zhì)就是教你怎么封裝。當(dāng)然,封裝的目的多種多樣,可能有時(shí)并不只是為了封裝熱代碼,實(shí)際工作中,要根據(jù)問題的優(yōu)先級(jí)綜合考慮。

理性對(duì)待

設(shè)計(jì)模式不是萬能的,不要迷信設(shè)計(jì)模式。需求的變化是常事,所有已有的代碼都可能被推翻。巨大的需求變化下,設(shè)計(jì)模式也無能為力。設(shè)計(jì)模式只能適應(yīng)某類需求變化,而不是所有需求的變化。在使用設(shè)計(jì)模式時(shí),需要開發(fā)團(tuán)隊(duì)根據(jù)經(jīng)驗(yàn)和理論對(duì)需求的進(jìn)行預(yù)測(cè),選擇合適的設(shè)計(jì)模式,提高項(xiàng)目維護(hù)性。

設(shè)計(jì)模式既然是一種好的做法,那么對(duì)應(yīng)的,就有不好的做法。這也從側(cè)面說明了,不學(xué)設(shè)計(jì)模式也一樣能夠?qū)崿F(xiàn)想要的功能。功能才是軟件的生命,功能才是用戶真正關(guān)心的東西,設(shè)計(jì)模式只是開發(fā)人員的思維工具。

后面的文章中,筆者將對(duì)各種已有的設(shè)計(jì)模式,從設(shè)計(jì)模式的本質(zhì)出發(fā),進(jìn)行細(xì)致分解。

設(shè)計(jì)模式的參考資料我們采用國(guó)內(nèi)目前比較便于訪問的菜鳥教程中的內(nèi)容。地址:https://www.runoob.com/design-pattern/design-pattern-intro.html


本文原創(chuàng)首發(fā)于微信公眾號(hào)“Qt未來工程師”。

總結(jié)

以上是生活随笔為你收集整理的设计模式(二)设计模式的本质的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。