同演算法與資料結構一樣,設計模式同樣是作為乙個優秀程式設計師必須熟練掌握與應用的基本功,在閱讀原始碼或者優秀的開源專案的同時,不難發現各種設計模式的靈活運用,嘆為觀止。
接下來一系列部落格,將和大家一起分享這些常用的設計模式。
觀察者模式
裝飾者模式
工廠模式
單例模式
建造者模式
這裡我們來建立華為mate20
首先定義產品類
public class phone
public void setbrand(string brand)
public void setprocessor(string processor)
@override
public string tostring()
}
然後抽象出產品的建立方法
public abstract class phonebuilder
在用具體手機產品去繼承抽象類
public class huaweimate20builder extends phonebuilder
@override
public void buildbrand(string brand)
@override
public void buildprocessor(string processor)
@override
public phone create()
}
最後一步建立導演類,用來控制建立的過程
public class director
public phone createphone(string os, string brand, string processor)
}
至此就完成了簡單的建造者模式,接下來測試一下吧
public class createhuaweimate20
}
以下是kotlin**
class phone
}abstract class phonebuilder
class huaweimate20phonebuilder : phonebuilder()
override fun setbrand(brand: string)
override fun setprocessor(processor: string)
override fun create(): phone
}class director(internal var builder: phonebuilder)
}fun main(args: array)
設計模式 建造者模式
在gof的23種設計模式中對builder pattern的定義是 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。從程式角度來說,就是在基類定義某種事物建立的過程或業務流程,在子類進行重寫或是使用基類方法。這樣建立出來的例項不會因為過程或流程的丟失而使業務失敗。舉例來說,...
設計模式建造者模式
今天看了乙個設計模式。總結下,以免忘了。如何引入建造者模式的呢?作者舉了個例子。建造小人。當然需要 頭,左手,右手,左腳,右腳,軀幹。建造的過程使用 使用類裡面的方法就行了。但是如果需要乙個胖的小人,乙個瘦的小人呢?就需要重新構造乙個胖人類,乙個瘦人類。當然 使用者還需要自己處理構造的過程。這樣 就...
設計模式 建造者模式
定義 將乙個複雜的物件的構建與它的表示分離,是的同樣的構建過程可以建立不同的表示。包括的要素 1 產品類 2 抽象建造者或者介面 3 建造者 4 導演類 建造者模式的優點 首先,建造者模式的封裝很好,使用建造者模式可以有效地封裝變化,注意在使用建造者模式的場景中,一般產品類和建造者介面是比較穩定的,...