原创 設計模式筆記—6_FactoryMethod工廠方法

文章目錄Factory Method工廠方法是一種“對象創建”模式動機定義結構代碼對比未使用FactoryMethodFileSplitter1.cppMainForm1.cppFactoryMethodISplitterFact

原创 設計模式筆記—13_Proxy代理模式

文章目錄Proxy代理模式是一種“接口隔離”模式動機定義結構代碼對比未使用代理模式Client.cppProxy.cpp對比要點總結 Proxy代理模式是一種“接口隔離”模式 在組件構建過程中,某些接口之間直接的依賴常常會帶來很

原创 設計模式筆記—23_Interpreter解析器模式

文章目錄Interpreter解析器模式是一種“領域規則”模式動機定義結構代碼對比main.cpp說明要點總結 Interpreter解析器模式是一種“領域規則”模式 在特定領域中,某些變化雖然頻繁,但可以抽象爲某種規則。這時候

原创 設計模式筆記—15_Mediator中介者模式

文章目錄Mediator中介者模式是一種“接口隔離”模式動機定義結構要點總結 Mediator中介者模式是一種“接口隔離”模式 在組件構建過程中,某些接口之間直接的依賴常常會帶來很多問題、甚至根本無法實現。採用添加一層間接(穩定

原创 設計模式筆記—8_Prototype原型模式

文章目錄Prototype原型模式是一種“對象創建”模式動機定義結構代碼對比Prototype.cpp原型基類ConcretePrototype.cpp原型具體類Client.cpp客戶端程序對比要點總結 Prototype原型模

原创 設計模式筆記—16_State狀態模式

文章目錄State狀態模式是一種“狀態變化”模式動機定義結構代碼對比state1.cppstate2.cpp對比要點總結 State狀態模式是一種“狀態變化”模式 在組件構建過程中,某些對象的狀態經常面臨變化,如何對這些變化進行

原创 設計模式筆記—19_Iterator迭代器模式

文章目錄Iterator迭代器模式是一種“數據結構”模式動機定義結構代碼對比iterator.cpp要點總結 Iterator迭代器模式是一種“數據結構”模式 常常有一些組件在內部具有特定的數據結構。如果讓客戶程序依賴這些特定的

原创 設計模式筆記—5_Bridge橋模式

文章目錄Bridge橋模式是一種“單一職責”模式動機定義結構代碼對比bridge1.cpp未使用橋模式bridge2.cpp橋模式對比要點總結 Bridge橋模式是一種“單一職責”模式 在軟件組件的設計中,如果責任劃分得不清晰,

原创 設計模式筆記—18_Composite組合模式

文章目錄Composite組合模式是一種“數據結構”模式動機定義結構代碼對比composite.cpp對比要點總結 Composite組合模式是一種“數據結構”模式 常常有一些組件在內部具有特定的數據結構。如果讓客戶程序依賴這些

原创 設計模式筆記—21_Command命令模式

文章目錄Command命令模式是一種“行爲變化”模式動機定義結構代碼對比command.cpp對比要點總結 Command命令模式是一種“行爲變化”模式 在組件的構建過程中,組件行爲的變化經常導致組件本身劇烈的變化。“行爲變化”

原创 設計模式筆記—22_Visitor訪問器模式

文章目錄Visitor訪問器模式是一種“行爲變化”模式動機定義結構代碼對比visitor1.cppvisitor2.cpp對比要點總結 Visitor訪問器模式是一種“行爲變化”模式 在組件的構建過程中,組件行爲的變化經常導致組

原创 設計模式筆記—10_Singleton單件模式

文章目錄Singleton單件模式是一種“對象性能”模式動機定義結構代碼對比Singleton.cpp對比要點總結 Singleton單件模式是一種“對象性能”模式 面向對象很好地解決了“抽象”的問題,但是必不可免地要付出一定的

原创 JDK源碼分析(2)——lang.String類

文章目錄概述實現接口與父類SerializableComparableCharSequence構造器String(String original)String(char value[])String(char value[], i

原创 JDK源碼分析(1)——lang.Object類

文章目錄概述構造器native本地方法字段方法getClass()hashCode()hashCode總合同equals(Object obj)toString()notify()notifyAll()wait()finalize

原创 JDK源碼分析(0)——源碼包概述

文章目錄源碼版本源碼常用包及其內容閱讀順序 源碼版本 JDK1.8 源碼常用包及其內容 1、java.lang 這裏面其實就是Java的基本語法,比如各種基本包裝類型(Integer、Long、Double等)、基本類(Obj