我正在创建三个非常相似的应用程序,但每个应用程序将应用不同的逻辑.我不知道如何最好地构建它以避免重复代码.
所有应用程序都有以下共同点: - 读取和解析配置 - 设置SQL数据库连接 - 收集统计信息 - 从STDIN读取
每个应用程序将对从STDIN读取的数据应用不同的逻辑.
这会被认为是可接受的吗?将所有常用代码放在main.go中,然后构建为"go build -o bin/app1 main.go app1.go"等等 - 只为每个二进制文件提供特定于应用程序的逻辑来构建?
main.go:
func main() {
// db connection
// stats worker
// read from stdin
proccessLine(line)
}
Run Code Online (Sandbox Code Playgroud)
app1.go:
func processLine(line string) {
// logic for app 1
}
Run Code Online (Sandbox Code Playgroud)
app2.go:
func processLine(line string) {
// logic for app 2
}
Run Code Online (Sandbox Code Playgroud)
等等
go ×1