在許多初創公司和其他小型公司中往往需要從頭開始一個項目。在開發過程中有太多的編程語言,體系結構等問題需要抉擇,而這些問題往往需要設計模式來解決。

設計模式就像您的項目的模板。它使用某些約定,您可以從中期望一種特定的行爲。這些模式由許多開發人員的經驗組成,因此它們實際上就像是不同的最佳實踐集。您和您的團隊可以決定哪種最佳實踐對您的項目最有用。根據您選擇的設計模式,所有人知道該怎麼進行代碼的開發。

《設計模式-可重用的面向對象軟件的元素》一書中有23種官方模式。在web開發中,小編認爲有四種最重要且常見的設計模式。

單例設計模式

它僅允許類僅僅具有單個實例,並且使用全局變量存儲該實例。您將使用延遲加載來確保該類只有一個實例,因爲它只會在需要時創建該類。這樣可以防止創建多個實例。大多數情況下,這是在構造函數中實現的。

數據庫連接有時候我們使用的就是單例模式,通過創建連接數據庫的單例模式,可以有效避免我們生成過多的數據庫連接對象,避免了數據庫連接開銷。

策略設計模式

策略設計模式,就像if else語句的高級版本。基本上,您可以在其中爲基類中的方法創建接口。然後,使用此接口從派生類中找到該方法的正確實現。

一個類的行爲或其算法可以在運行時更改。這種類型的設計模式屬於行爲型模式。

在策略模式中,我們創建表示各種策略的對象和一個行爲隨着策略對象改變而改變的 context 對象。策略對象改變 context 對象的執行算法。

觀察者設計模式

如果您曾經使用過MVC模式,那麼您已經使用過觀察者設計模式。觀察者模式就像MVC的View部分。您有一個包含所有數據及其狀態的主題。然後,您將擁有與用戶一樣的觀察者,他們將在數據更新後從主題中提取數據。

發送用戶通知,更新,篩選和處理訂閱者都可以使用觀察者模式來完成。

裝飾器設計模式

允許向一個現有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬於結構型模式,它是作爲現有的類的一個包裝。

這種模式創建了一個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。

我們通過下面的實例來演示裝飾器模式的用法。其中,我們將把一個形狀裝飾上不同的顏色,同時又不改變形狀類。

動態地給一個對象添加一些額外的職責。就增加功能來說,裝飾器模式相比生成子類更爲靈活。

設計模式(Design Pattern)是前輩們對代碼開發經驗的總結,是解決特定問題的一系列套路。它不是語法規定,而是一套用來提高代碼可複用性、可維護性、可讀性、穩健性以及安全性的解決方案。

如果你還沒有聽說過設計模式,或者在平時的編寫代碼過程中很少使用策略模式,那麼我希望您可以從今以後多留意一下,好的設計模式一定是可以提升代碼質量的。

相關文章