原创 13.好菜每回味都不同 - 建造者模式 (大話設計模式Kotlin版)

情景 小明的難堪 小明晚上下班去大排檔喫宵夜,點了一份炒麪,味道不夠估計是忘了放鹽;喫着不盡興,再點了一份炒飯,結果卻太鹹了。小明真難!小明感嘆,這檔口以前經常光顧,爲什麼今天這麼難喫 ?可能換了廚師了吧,或者廚師今晚心情不好哈

原创 21.單例模式(大話設計模式kotlin版)

單例模式 定義:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。 通常我們可以通過一個全局變量使得一個對象可以被訪問,但它不能防止被實例化多個對象。一個最好的解決方式是,讓類自身負責保存它的唯一實例。這個類可以保證沒

原创 25.世界需要和平 - 中介者模式 (大話設計模式Kotlin版)

世界需要和平 國際形式錯綜複雜,國與國之間有時候因爲利益摩擦、主權問題引發矛盾,進而發動戰爭。戰爭終究不可避免給人民帶來無法彌補的傷痛!各個國家代表的利益不同,矛盾衝突是難免的。爲了更好的維護國際關係,調和各個國家間的矛盾,催

原创 14.觀察者模式(大話設計模式kotlin版)

觀察者模式 定義 觀察者Observer模式又叫發佈-訂閱Publish/Subscribe模式。它定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題Subject對象。當這個主題對象在狀態發生改變時,會通知所有觀察者

原创 22.不同手機的軟件該怎麼分類 - 橋接模式 (大話設計模式Kotlin版)

引你入坑的程序 程序1:用簡單的幾個類表示出手機系統分爲Android與IOS。 一共需要三個類:手機系統抽象類PhoneOS、Android系統與IOS系統兩個子類。 PhoneOS手機系統抽象類,提供一個install()安

原创 17.在NBA我需要翻譯-適配器模式(大話設計模式kotlin版)

適配器模式 基本概念 適配器:就是使得一個東西適合另外一個東西的東西。 定義:適配器模式(Adapter),將一個類的接口轉換成客戶希望的另外一個接口。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起

原创 設計模式六大原則(大話設計模式kotlin版)

單一職責原則 SRP(Single Responsibility Principle) 定義:就一個類而言,應該僅有一個引起它變化的原因。(簡單來說就是類的職責要單一,但職責的單一不一定指只定義一個方法,它指的是功能性或模塊性

原创 掌握Android閱讀源碼的兩種簡單方式

學習背景 最近在看《Android開發藝術探索》書籍,想突破一下自己知識的瓶頸,發現書中有許多知識都結合的源碼進行講解的。源碼是我一直很畏懼的區域,很多時候遇到問題在網上搜索解決方式時,遇到長篇大論說源碼的,我就會看不下去。如果想

原创 26.項目多也別傻做 - 享元模式 (大話設計模式Kotlin版)

例子與代碼均來自《大話設計模式》程傑,簡單記錄加深印象。 項目多也別傻做 問題情景 最近忙得很,在給一些私營業主做網站,做好一個產品展示網站需要一個星期,包括購買服務器和搭建數據庫!但是隨着外快越來越多,他們的需求有的是新聞發

原创 2.商場促銷 - 策略模式 (大話設計模式Kotlin版)

編程題:製作商場收銀軟件 利用編程做一個簡易的商場收銀系統,營業員根據客戶購買的商品的單價與數量,向客戶收費。 快速實現 馬上想到的解決思路:無非是提供兩個輸入,分別對應商品單價與數量,然後通過計算得到費用輸出! v1.

原创 10.考題抄錯會做也白搭-模板方法模式 (大話設計模式Kotlin版)

內容大綱面試題重複=易錯+難改提煉後的代碼模板方法模板方法的特點 面試題 老師佈置了一次金庸小說的考卷試題,要求甲乙學生抄題並給出對應答案,請用編程語言實現它。 重複=易錯+難改 下面實現的UML圖 這不簡單嘛,分別創建

原创 1.代碼無錯就是優?-簡單工廠模式 (大話設計模式Kotlin版)

內容大綱面試受挫初學者的代碼利用封裝的實現利用繼承和多態的方式實現鬆耦合簡單工廠模式的應用 面試受挫 面試題: “用任意一種面嚮對象語言實現一個計算器控制檯程序,要求輸入兩個數和運算符號,得到結果。” 初學者的代碼 以下的程序

原创 28.男人和女人-訪問者模式(大話設計模式Kotlin版)

內容大綱 情節分析  代碼設計部分: 最簡單的編程實現 簡單的面向編程實現 用了模式實現 訪問者模式   總結   訪問者模式的使用前提 訪問者模式的使用場景 訪問者模式的優缺點 情節分析 例子與代碼均來自《大話設計模式》程傑,簡單記錄加