1. 程式人生 > >23種設計模式彙總

23種設計模式彙總

在接觸設計模式之後,我才知道太好用啦,我以前做的專案經常會改需求和功能擴充套件,我發現很多都是我硬編碼在裡面導致修改起來很煩 超級煩,在接觸設計模式之後才發現他的威力,我想把整個23種模式整理一遍,當然了在我們瞭解設計模式之後對我們看原始碼會有很大的幫助

面向物件是什麼?

面向物件是一種思想, 世間萬物都可以看做一個物件,面向物件程式設計(OOP)
Java是一個支援併發、基於類和麵向物件的計算機語言

面向物件的四大基本特徵:

抽象:提取現實世界中某事物的關鍵特性,為該事務構建模型的過程。對同一事物在不同的需求下,需要提取的特性可能不一樣。得到的抽象模型中一般包含:屬性(資料)和操作(行為)。這個抽象模型我們稱之為類。對類進行例項化得到物件。

封裝:封裝可以使類具有獨立性和隔離性;保證類的高內聚。只是露給類外部或者子類必須的屬性和操作。類封裝的實現依賴類的修飾符(public、protected和private等)

繼承:對現有類的一種複用機制。一個類如果繼承現有的類,則這個類將擁有繼承類的所有非私有特性(屬性和操作)。這裡的繼承包含:類的繼承和介面的實現。

多型:多型是在繼承的基礎上實現的。多型的三個要素:繼承、重寫和父類引用指向子類物件。父類引用指向不同的子類物件時,呼叫相同的方法,呈現出不同的行為,就是類多型特性。多型可以分成編譯時多型和執行時多型。

抽象、封裝、繼承和多型是面向物件的基礎

前人在這些基礎上在軟體開發過程中總結出了23種設計模式

設計模式分為三大類

建立型模式(5種):
工廠方法模式抽象工廠模式單例模式、建造者模式、原型模式

結構型模式(7種):
介面卡模式裝飾者模式、代理模式、外觀模式、橋接模式、組合模式、亨元模式

行為模式(11種):
策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式

目錄