【发布时间】:2018-06-18 07:29:13
【问题描述】:
我正在创建三个彼此非常相似的应用程序,但每个应用程序都会应用不同的逻辑。我不确定如何最好地构造它以避免重复代码。
所有应用程序都有以下共同点: - 读取和解析配置 - 设置 SQL 数据库连接 - 收集统计数据 - 从标准输入中读取
每个应用程序将对从 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)
}
app1.go:
func processLine(line string) {
// logic for app 1
}
app2.go:
func processLine(line string) {
// logic for app 2
}
等等
【问题讨论】:
标签: go