資料庫操作


上週的內容中,已經成功的可以透過 Go 初始化資料庫,接著這禮拜就會以操作資料庫為主軸。

架構

首先,要先來看一整個完整的資料庫操作的程式架構,大致可以分成 3 層:

image.png

為什麼會需要分這三層呢?如果將這三個角色的程式寫在一起很容易遇到這些問題:

Interface

為了讓這三層可以溝通,會使用 Interface 實現:Handler 呼叫 Service,Service 呼叫 Query。接著以下是定義及使用一個 Interface 的範例:

type Calculator interface {
	Add(a, b int) int
	Sub(a, b int) int
}

type Computor struct {
	Cal	Calculator
}