一天一个设计模式(一) - 总体概述
生活随笔
收集整理的這篇文章主要介紹了
一天一个设计模式(一) - 总体概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
最近在對設計模式進行了一系列總結,本文將給大家關于設計模式的一個整體的介紹。
正文
1. 定義
設計模式是某類特定問題的代碼設計解決方案,是一套代碼設計的經驗總結。
2. 作用
- 提高代碼復用率,降低開發成本和周期
- 提高代碼可維護性、可拓展性
- 使代碼更加優雅,可讀性更強
- 讓代碼更容易被他人理解
3. 設計原則
在設計模式進行設計時需要遵循以下的面向對象設計原則:
- 單一職責原則 (SRP):就一個類而言,應該僅有一個引起它變化的原因。
- 開閉原則 (ASD):類、模塊、函數等等應該是可以拓展的,但是不可修改。
- 里氏替換原則 (LSP):所有引用基類(父類)的地方必須能透明地使用其子類的對象。
- 依賴倒置原則 (DIP):高層模塊不應該依賴低層模塊,兩個都應該依賴于抽象。抽象不應該依賴于細節,細節應該依賴于抽象。
- 迪米特原則 (LOD):一個軟件實體應當盡可能少地與其他實體發生相互作用。
- 接口隔離原則 (ISP):一個類對另一個類的依賴應該建立在最小的接口上。
4. 設計模式分類
常用的23種設計模式總體來說分為三大類:創建型模式、結構型模式 和 行為型模式。
創建型模式 (共五種):工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式 (共七種):適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式 (共十一種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
三大類設計模式及其分類,如下圖所示:
總結
本文對設計模式的定義進行了大致總體的介紹,接下來我會對幾種常用的設計模式進行詳細的分析。
歡迎關注技術公眾號: 零壹技術棧
本帳號將持續分享后端技術干貨,包括虛擬機基礎,多線程編程,高性能框架,異步、緩存和消息中間件,分布式和微服務,架構學習和進階等學習資料和文章。
總結
以上是生活随笔為你收集整理的一天一个设计模式(一) - 总体概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【干货】浅谈分布式数据库中间件之分库分表
- 下一篇: MVC防止CSRF攻击