原创 創建型設計模式對比總結 設計模式(八)

創建型模式是new 的一種替代方式,可以將對象的創建與具體的類型進行分離 目前已經介紹了5種創建型設計模式(如果簡單工廠算一種的話,那就是6種) 分別是: 簡單工廠模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式、單例模式簡單工廠模

原创 工廠方法模式 創建型 設計模式(三)

工廠方法模式是簡單工廠模式的進一步抽象工廠方法模式既保持了簡單工廠模式的優點,又克服了他的缺點如不清楚簡單工廠模式,可以查看前一篇他是怎麼做到的呢?那就是:核心的工廠角色,不再是具體的工廠,也就是不再負責所有具體產品的創建,進一步轉變爲抽象

原创 抽象工廠模式 創建型 設計模式(四)

抽象工廠模式是工廠方法模式的進一步抽象 在工廠模式中,客戶端程序依賴(消費)一種抽象產品角色Product 所有的ConcreteCreator的返回類型都是Product,因爲抽象工廠角色Creator就是返回Product  但是,如果

原创 建造者模式 生成器模式 創建型 設計模式(五)

建造者模式 Builder 也叫做生成器模式在正式開始建造者模式之前,先回顧下抽象工廠模式本人的所有系列文章都是自己學習的記錄過程,均有比較嚴格的先後順序,如果不清楚抽象工廠模式可以先往前翻翻從抽象工廠演化抽象工廠模式是工廠模式的進一步抽象

原创 爲什麼需要創建型模式以及簡單工廠模式(三)

創建型模式 創建型模式不同於其他模式,因爲程序語言本身是支持創建對象實例的 比如使用new關鍵字,比如通過反射創建,通過clone()方法創建對象也可以在構造方法中對創建邏輯進行干預那麼,爲什麼還需要創建型模式?  創建型概念特點先看下前文

原创 [十五]java.math包簡介,RoundingMode與MathContext

java.math包提供了java中的數學類包括基本的浮點庫、複雜運算以及任意精度的數據運算'可以看得到,主要包括三個類一個枚舉BigDecimal和BigInteger接下來會詳細介紹先說下另外兩個RoundingMode 舍入行爲/ 近

原创 [十六]基礎類型BigInteger簡介

BigInteger和BigDecimal都是Java針對大數提供的類 超出了java的表示範圍 屬性簡介 藉助於signum和mag 來實現數據的符號位和實際數據的保存 final int signum 保存BigInteger的符號 負

原创 UML簡單介紹-如何看懂UML(二)

在計算複雜的數學題時,我們必然會打草稿計算 在繪畫課中,我們可以素描出來看到的事物 那麼在程序設計中呢? 如何描繪傳達你腦海中的關於這個程序 ,設計的藍圖草稿? OOP的程序設計中,最多的自然是類、接口層次接口的設計 簡單的設計,可能在腦海

原创 設計模式與設計原則簡介(一)

什麼是設計模式? 我們知道對於很多數學問題,經常會有多種不同的解法 而且這其中可能會有一種比較通用簡便高效的方法 我們在遇到類似的問題或者同一性質的問題時,也往往採用這一種通用的解法 將話題轉移到程序設計中來 對於軟件開發人員, 在軟件開發

原创 [十七]基礎類型BigDecimal簡介

BigDecimal是不可變的、任意精度的、有符號的、十進制數. 組成部分 BigDecimal 由任意精度的整數非標度值 和 32 位的整數標度 (scale) 組成BigDecimal 表示的數值是  : unscaledValue

原创 [十四]基礎類型之StringBuffer 與 StringBuilder對比

StringBuilder 和 StringBuffer是高度類似的兩個類 StringBuilder是StringBuffer的版本改寫,下面從幾個方面簡單的對比下他們的區別 類繼承關係上文中,我們簡單介紹了AbstractStringB

原创 單例模式 創建型 設計模式(六)

單例模式 Singleton單例就是單一實例, only you  只有一個意圖 保證一個類僅有一個實例,並且提供一個訪問他的全局訪問點 單例模式的含義簡單至極,複雜的是如何能夠保障你真的只是創建了一個實例 怎樣才能保證一個類只有一個實例

原创 原型模式 prototype 創建型 設計模式(七)

原型模式  prototype意圖 用原型實例指定需要創建的對象的類型,然後使用複製這個原型對象的方法創建出更多同類型的對象顯然,原型模式就是給出一個對象,然後克隆一個或者更多個對象小時候看過的動畫片《西遊記》,主題曲猴哥中有一句“拔一根毫

原创 [十三]基礎數據類型之AbstractStringBuilder

String內部是一個private final char value[]; 也就意味着每次調用的各種處理方法,返回的字符串都是一個新的,性能上,顯然.... 所以,對於可變字符序列的需求是很明確的 類的層次結構設計,有的時候是自頂而下

原创 [十二]基礎數據類型之String

在正式介紹String之前,我們先介紹下CharSequencechar + sequence 就是字符的序列的意思Java中萬事萬物都是對象類型而對於字符的序列,也就是多個char, 這麼一種東西, 使用CharSequence這個接口來