Hello, world of design !你好,設計模式的世界!
歡迎來到這裡,很高興你能拿到這本書,如果你能堅持看完並按照書中的例子進行實踐,那麼在程式設計開發的世界裡,就又多了一個可以寫出良好程式碼的人,同時也為架構師培養儲備了一個人才。
可能在此之前你也多少了解過設計模式,但在實際的業務開發中使用卻不多,多數時候都是大面積堆積 ifelse 組裝業務流程,對於一次次的需求迭代和邏輯補充,只能東拼西湊 ctrl+c 、ctrl+v 。
所以為了能讓更多的程式設計師更好的接受設計思想和架構思維,並能運用到實際的業務場景。本書的作者投入50天時間,從網際網路實際業務開發中抽離出,交易、行銷、秒殺、中介軟體、原始碼等22個真實場景,來學習設計模式實踐使用的應用可上手技能。
設計模式的概念最早是由克里斯托佛·亞歷山大在其著作《建築模式語言》中首次提出的。本書介紹了城市設計的「語言",提供了253個描述城鎮、鄰里、住宅、花園、房間及西部構造的模式,而此類"語言」的基本單元就是模式。後來,埃裡希·伽瑪、約翰·弗利賽德斯、拉爾夫·約翰遜和理查德·赫爾姆這四位作者接受了模式的概念。1994年,他們出版了《設計模式:妳可複用物件導向軟體的基礎》一書,將設計模式的概念應用到程式開發領域中。
其實有一部分人並沒有仔細閱讀過設計模式的相關書籍和資料,但依舊可以編寫出優秀的程式碼。這主要是由於在經過眾多專案的錘鍊和對程式設計的不斷追求,從而在多年程式設計歷程上提煉出來的心得體會。而這份經驗最終會與設計模式提到的內容幾乎一致,同樣會要求高內聚、低耦合、可延伸、可複用。你可能也遇到類似的經歷,在學習一些框架的原始碼時,發現它裡的某些設計和你在做開發時一樣。
錢也花了,書也買了。程式碼還是一坨一坨的!設計模式是由多年的經驗提煉出來開發指導思想。就像我告訴你自行車怎麼騎、汽車怎麼開,但只要你沒跑過幾千公里,你能記住的只是理論,想上道依舊很慌!
所以,本 設計模式專題系列開始,會帶著你使用設計模式的思想去優化程式碼。從而學習設計模式的心得並融入給自己。當然這裡還需要多加練習,一定是人車合一,才能站在設計模式的基礎上構建出更加合理的程式碼。
轉發+關注,然後新增VX(tkzl6666) 即可獲得這份《Java設計模式》實戰型筆記的免費領取方式
設計模式遵循六大原則;單一職責(一個類和方法只做一件事)、里氏替換(多型,子類可延伸父類別)、依賴倒置(細節依賴抽象,下層依賴上層)、介面隔離(建立單一介面)、迪米特原則(最少知道,降低耦合)、開閉原則(抽象架構,擴充套件實現),會在具體的設計模式章節中,進行體現。
1.建立型模式
這類模式提供建立物件的機制,能夠提升已有程式碼的靈活性和可複用性。
2.結構型模式
這類模式介紹如何將物件和類組裝成較大的結構,並同時保持結構的靈活和高效。
3. 行為模式
這類模式負責物件間的高效溝通和職責委派。
《Java設計模式》實戰筆記是以網際網路真實場景實踐開發為基礎,每一章節的學習都會涉及到1-3個對應的案例工程,這在每一章節中都有所提到,在學習的過程中可以參考對照即可。
本書屬於實戰型而不是理論介紹類書籍,每一章節都有對應的完整程式碼,學習的過程需要參考書中的章節與程式碼一起學習,同時在學習的過程中需要了解並執行程式碼。學習完成後進行知識點的總結,以及思考這樣的設計模式在自己的業務場景中需要如何使用。