溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

開發(fā)中經(jīng)常使用的設計模式有哪些

發(fā)布時間:2021-10-25 11:56:59 來源:億速云 閱讀:124 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“開發(fā)中經(jīng)常使用的設計模式有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

工廠模式

這是一個最基礎的設計模式,也是最常用的設計模式,這是一個我們平時一直在使用,但卻不知道自己在使用的設計模式。

工廠模式故名思意就是一個加工廠,不同于現(xiàn)實的是,這里生產(chǎn)的不是衣服,皮鞋,褲子等,而是我們面向?qū)ο缶幊讨凶钪匾膶ο蟆?/p>

現(xiàn)實中工廠的好處我們都知道,不僅可以批量生產(chǎn),還可以批量定制,因為有著不同的模具,它可以生產(chǎn)出人們需要的各種類型的產(chǎn)品。

軟件開發(fā)中,我們更關注的是使用對象的方法,至于對象如何創(chuàng)建的,我們并不是很關心,因此,抽象工廠解決了我們的問題。我們只需要訂制我們需要的產(chǎn)品功能接口,然后讓工廠按照我們的接口,也就是實現(xiàn)接口生產(chǎn)對象即可。

通過這樣的調(diào)用,我們的產(chǎn)品如果有問題的話,可以隨時召回,可以隨時被工廠補丁修補,實現(xiàn)了產(chǎn)品的靈活擴展。

適配器模式

現(xiàn)實中,我們經(jīng)常給手機充電,而我們使用的就是電源適配器,為什么叫適配器呢?因為它不僅可以給我們自己的手機充電,也可以給別人的手機充電,甚至還可以給其它用電設備充電,因為它可以適應各種充電設備,所以叫做適配器。

軟件開發(fā)中,我們幾乎或者不可能離開數(shù)據(jù)庫而去開發(fā)一款應用,那么選擇什么數(shù)據(jù)庫是我們最需要關心的,因為如果選擇錯了,可能后期在性能上就會出現(xiàn)瓶頸,那么有沒有一種辦法可以讓我們在不修改代碼,或者修改很少的代碼情況下進行數(shù)據(jù)庫的無縫切換呢?答案就是適配器模式。

我們首先定義好適配器接口,然后讓各種數(shù)據(jù)庫實現(xiàn)我們定義好的接口,我們在代碼中使用接口中定義的方法,這樣當我們想要切換數(shù)據(jù)庫的時候,只要將該數(shù)據(jù)庫實現(xiàn)對應接口的方法,我們就可以完成數(shù)據(jù)庫的適配,就可以無縫連接。

觀察者模式

觀察者模式,又叫做通知模式,是一種一對多的模式?,F(xiàn)實中,當校長或者老師在臺上發(fā)布一個命令的時候,廣播喇叭就會將命令傳達給每個學生,學生們聽到命令的時候,都會有自己的反應,校長或者老師不必向?qū)W生一個個傳達,因為廣播喇叭會把命令傳給學生,這里廣播喇叭就是一個觀察者,而老師和校長就是被觀察者,學生們就是被通知對象,因此觀察者模式也叫做發(fā)布訂閱模式。

在軟件開發(fā)中,比如我們的產(chǎn)品有這樣一個功能,用戶下單支付成功之后,就會發(fā)送一條短信通知用戶,如果之后希望不僅發(fā)送短信,還需要發(fā)送郵件,還需要語音通知,在這樣的情況下,我們就可以采用觀察者模式,我們將支付成功信息放入到消息隊列中,至于發(fā)短信還是發(fā)郵件,由各個業(yè)務模塊訂閱消息隊列自己處理。這樣在訂單模塊里面,就不需要一個個通知短信模塊,郵件模塊了。

裝飾器模式

現(xiàn)實生活中,一般情況下一個人換了一件衣服之后,我們依然可以認出他,衣服就是他的裝飾,說明裝飾并不影響一個人的容貌,也就是不影響這個人的功能,但是通過穿著一件高檔外衣,卻可以提升一個人的氣質(zhì),這就是裝飾的作用,而裝飾器模式就是通過裝飾一個對象而不改變對象來讓這個對象更強大。

舉一個軟件開發(fā)中的案例,比如我們已經(jīng)設計好一個短信發(fā)送功能,并且經(jīng)過測試和線上測試這個功能是沒有任何問題的,但是現(xiàn)在有一個新的需求,要求發(fā)送短信的時候,還能語音提醒,我們?nèi)绾文軌蛟诓挥绊懺械墓δ芮闆r下,實現(xiàn)這個功能呢,這個時候我們就可以使用裝飾器,也就是給短息發(fā)送類裝飾一個語音功能,讓它不僅可以發(fā)送短信,此外還可以實現(xiàn)語音發(fā)送的功能。

策略模式

策略故名思意就是實現(xiàn)目標方案的集合,簡單來說就是各種方法的集合,他們都是用來實現(xiàn)一件事情的。

軟件開發(fā)中,一個對象對不同場景采用不同的策略去實現(xiàn)同一個功能,就是策略方法,如果你聽說過多態(tài),就會發(fā)現(xiàn)它和多態(tài)的定義很像,不同的是多態(tài)是不同對象對同一操作的不同的處理方法,而策略模式是同一個對象對同一個操作采用不同的策略進行處理操作。

比如,我們有一個國慶7天游的項目,起始點和目的地都是從北京到莫斯科,但是可以采用不同的策略,可以飛機,可以火車,可以自駕,同一個夢想,不同的實現(xiàn)方式。

淘寶首頁的千人千面也是策略模式,都是顯示商品,面對不同的人,顯示的就是不同的商品,這就是由策略決定的。

“開發(fā)中經(jīng)常使用的設計模式有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI