原创 世界是由懶人改變的

最近把放下了近大半年的Hexo博客重新拾起來了,寫篇文章記錄一下。至於當初爲什麼會放下,其中一個原因是用戶體驗太差,還需要手動創建移動md文件,彷彿回到了原始社會。其實最重要的原因是自己太懶。最近重新拾起來Hexo博客的原因也挺簡單,大腦是

原创 編碼最佳實踐——依賴注入原則

我們在這個系列的前四篇文章中分別介紹了SOLID原則中的前四個原則,今天來介紹最後一個原則——依賴注入原則。依賴注入(DI)是一個很簡單的概念,實現起來也很簡單。但是簡單卻掩蓋不了它的重要性,如果沒有依賴注入,前面的介紹的SOLID技術原則

原创 編碼最佳實踐——接口分離原則

接口分離原則 在面向對象編程中,接口是一個非常重要的武器。接口所表達的是客戶端代碼需求和需求具體實現之間的邊界。接口分離原則主張接口應該足夠小,大而全的契約(接口)是毫無意義的。接口分離的原因將大型接口分割爲多個小型接口的原因有:①需要單獨

原创 編碼最佳實踐——里氏替換原則

Liskov替換原則(Liskov Substitution Principle)是一組用於創建繼承層次結構的指導原則。按照Liskov替換原則創建的繼承層次結構中,客戶端代碼能夠放心的使用它的任意類或子類而不擔心所期望的行爲。 Lisko

原创 國慶節前的反思

最近越發覺得浮躁和焦慮,也感受到了前所未有的迷茫。大概是我給了自己太多的選擇項,並且沒有給自己制定計劃,制定優先級,所以不知道自己要先做哪一項、後做哪一項。等到要學習提升自己的時候,茫茫多的選擇項,不浮躁不焦慮纔不正常。以我訂閱技術專欄爲例

原创 人生不一定會贏,而我就是不想輸

有一本書同時出現在比爾蓋茨和巴菲特的2016年度推薦書單中,這本書是《鞋狗》,耐克創始人菲爾奈特的自傳。 鞋狗就是那些全身心投入其中,努力製造、銷售、購買或設計鞋子的人。它的意義當然不只是鞋狗,這種一輩子“以此爲生,精於此道,樂此不疲,革新

原创 最佳編碼實踐——單一職責原則

SOLID是一組最佳編碼實踐的首字母縮寫S 單一職責原則O 開放與封閉原則L Liskov(裏式)替換原則I 接口分離原則D 依賴注入原則同時應用這些最佳實踐,可以提升代碼適應變更的能力。但是凡事要有度,過度使用雖然可以讓代碼有很高的自適應

原创 透過用戶思維談程序員的進階之路

最近讀了一本關於產品的好書《用戶思維+ 好產品讓用戶爲自己尖叫》,雖然是一本產品相關的書,但是全書都在圍繞如何讓你的用戶變得更優秀展開討論。作者的觀點很明確也很獨到,可持續成功的產品都是由推薦(口碑傳播)產生的。而激發這些推薦的是用戶對自己

原创 MySQL——優化ORDER BY語句

MySQL——優化ORDER BY語句本篇文章我們將瞭解ORDER BY語句的優化,在此之前,你需要對索引有基本的瞭解,不瞭解的老少爺們可以先看一下我之前寫過的索引相關文章。現在讓我們開始吧。MySQL中的兩種排序方式1.通過有序索引順序掃

原创 MySQL——優化嵌套查詢和分頁查詢

優化嵌套查詢 嵌套查詢(子查詢)可以使用SELECT語句來創建一個單列的查詢結果,然後把這個結果作爲過濾條件用在另一個查詢中。嵌套查詢寫起來簡單,也容易理解。但是,有時候可以被更有效率的連接(JOIN)替代。現在假如要找出從來沒有在網站中消

原创 C#委託之我見

委託的使用方式很簡單,瞭解一下基本語法就可以開擼了。但是使用委託的真正難題是不知道應用場景,就像習得了一門新功夫,但是卻找不到任何施展拳腳的地方。這個難題一直困然着我,直到最近彷彿有所領悟,所以趕緊記下這可能尚不成熟的觀點。如果有什麼錯誤,

原创 編碼最佳實踐——開放封閉原則

開放封閉原則定義 開放與封閉原則有兩種不同的定義,分別是20世紀80年代最原始的定義和後期一個更現代的定義,後者對前者進行更加詳盡的闡述。Meyer的定義軟件實體應該允許擴展,但禁止修改 ——《面向對象軟件構造》Martin的定義”對於擴展