設計模式是為了解決軟件設計過程中的一些通用性問題而總結出來的一套常用的方法論。Java作為一門非常流行的編程語言,也有著自己常用的設計模式。
常用的設計模式可以分為以下幾類:
創建型模式
簡單工廠模式(Simple Factory) 工廠方法模式(Factory Method) 抽象工廠模式(Abstract Factory) 單例模式(Singleton) 建造者模式(Builder) 原型模式(Prototype)
結構型模式
適配器模式(Adapter) 橋接模式(Bridge) 組合模式(Composite) 裝飾器模式(Decorator) 外觀模式(Facade) 享元模式(Flyweight) 代理模式(Proxy)
行為型模式
責任鏈模式(Chain of Responsibility) 命令模式(Command) 解釋器模式(Interpreter) 迭代器模式(Iterator) 中介者模式(Mediator) 備忘錄模式(Memento) 觀察者模式(Observer) 狀態模式(State) 策略模式(Strategy) 模板方法模式(Template Method) 訪問者模式(Visitor)
下面我們來看看其中幾種常用的設計模式和它們之間的區別。
工廠方法模式和抽象工廠模式的區別
工廠方法模式和抽象工廠模式都是創建型模式之一,它們都是用來創建對象的,但是它們的實現方式有所不同。工廠方法模式是使用一個工廠類來創建產品,而抽象工廠模式則是使用一個抽象工廠來創建產品。在工廠方法模式中,只需要傳入產品的名稱就可以創建對應的產品,而在抽象工廠模式中需要傳入不同的工廠來創建不同產品族的產品。
單例模式和靜態類的區別
單例模式和靜態類都是創建唯一實例的方法,但是它們的實現方式有所不同。單例模式是通過一個類來保證只有一個實例對象,而靜態類則是通過靜態方法和靜態變量來實現唯一實例的創建。另外,單例模式是可以被繼承的,而靜態類則不可以被繼承。
適配器模式和裝飾器模式的區別
適配器模式和裝飾器模式都是結構型模式,它們的作用是修改已有的對象。適配器模式是將一個接口轉換成另一個接口,通過適配器來實現兩個不兼容的接口之間的通信。而裝飾器模式則是在不改變對象原有的結構和功能前提下,動態地給對象添加一些額外的功能。
上一篇70.php
下一篇java常亮類和枚舉類