原创 《大象:Thinking in UML》讀書筆記(3)UML核心元素之參與者(Actor)

1 UML版型 UML版型(stereotype),也被稱爲類型、構造型。是對UML元素基礎定義的擴展,在同一個元素的基礎定義上賦予特別的含義,是的這個元素適用於特定的場合。例如用例有“業務用例”、“業務用例實現”等版型,類有“接

原创 《大象:Thinking in UML》讀書筆記(2)建模基礎

目錄1 建模2 用例驅動3 抽象層次4 視圖5 對象分析方法 1 建模 建模(Modeling),是指通過對客觀事物建立一種抽象的方法用以表徵事物並獲得對事物本身的理解,同時把這種理解概念化,將這些邏輯概念組織起來,構成一種對所觀

原创 《大象:Thinking in UML》讀書筆記(1)爲什麼需要UML

目錄1 面向過程2 面向對象3 UML定義4 UML的過程4.1 從現實世界到業務模型4.2 從業務模型到概念模型4.3 從概念模型到設計模型5 RUP 1 面向過程 面向過程方法認爲我們的世界是由一個個相互關聯的小系統組成的。每

原创 leetcode 23 合併K個排序鏈表(Merge k Sorted Lists)

題目描述 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Example: In

原创 使用Local協議搭建本地Git服務器

Git管理員 在服務器側創建項目倉庫,如項目名稱爲sample,則在任意目錄(如/f/git_server)下執行: git init --bare sample.git bare參數的意思是創建裸倉庫,即服務器側僅用來管理項目

原创 leetcode 19 刪除鏈表尾部第N個元素(Remove Nth Node From End of List)

題目描述 Given a linked list, remove the n-th node from the end of list and return its head. Example: Given linked list

原创 leetcode 17 電話號碼的字母組合(Letter Combinations of a Phone Number)

題目 Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number cou

原创 使用Golang發送郵件

golang包 gomail 實現 func SendHuaweiMail(from string, to []string, cc map[string]string, subject string, body string,

原创 Golang設計模式-創建型-工廠方法

1 引例 仍然是漢堡的故事,在Golang設計模式-創建型-簡單工廠 一文中,我們提到簡單工廠的缺點之一是當產品種類較多時,工廠邏輯會變得非常複雜。哪裏複雜,我們就分解哪裏,這是分治法最樸素的思想,既然工廠邏輯複雜,那我們就把它分

原创 Golang設計模式-創建型-簡單工廠

1 引例 李雷喜歡上了韓梅梅,他知道韓梅梅喜歡喫漢堡,於是就想買漢堡給她喫,但李雷不確定韓梅梅喜歡的是肯德基的漢堡還是麥當勞的漢堡,怎樣幫助他呢? 最直觀和最簡單的實現就是if+else: if prefer == "KFC

原创 Golang的面向對象

如你所知,封裝、繼承、多態和抽象是面向對象編程的4個基本特徵,本文描述Golang語言是如何實現這些特徵的。 1 Golang的面向對象類型 Golang實現面向對象的兩個關鍵類型是struct和interface,其中struc

原创 Golang命令行參數解析:flag包的用法及源碼解析

1 命令行參數的定義 命令行參數用於嚮應用程序傳遞一些定製參數,使得程序的功能更加豐富和多樣化。命令行標誌是一類特殊的命令行參數,通常以減號(-)或雙減號(–)連接標誌名稱,非bool類型的標誌後面還會有取值。以git log命令

原创 Golang單元測試與覆蓋率

1 概述 C/C++和Java(以及大多數的主流編程語言)都有自己成熟的單元測試框架,前者如Check,後者如JUnit,但這些編程框架本質上仍是第三方產品,爲了執行單元測試,我們不得不從頭開始搭建測試工程,並且需要依賴於第三方工

原创 Golang設計模式-創建型-抽象工廠

1 引例 接上文Golang設計模式-創建型-工廠方法 ,有一天,李雷聽說韓梅梅不但喜歡喫漢堡,還喜歡喫雞翅,怎麼辦呢?讓工廠的Create方法既生產漢堡,又生產雞翅嗎?小皮說:不好不好,這違反了“單一職責”原則,生產漢堡與生產雞

原创 使用鏈表實現隊列(Golang)

package queue type Queue struct { head *QueueNode tail *QueueNode } type QueueNode struct { data interface{}