针对项目中,相同的流程业务进行重构,使用Go来简单模拟Java中的接口,实现类的方式进行重构。
分享一简单例子:
package main//模拟java中的接口,实现类import "fmt"http:// 声明一个接口,type workthread interface { do(name string)}// 传入的wt的子类不同,do方法执行的逻辑也不同func Handle(wt workthread, name string) { fmt.Println("--------执行do方法前的逻辑------") wt.do(name) fmt.Println("--------执行do方法后的逻辑------")}type SparkNode struct { ClusterName string}func (sn *SparkNode) do(name string) { fmt.Println("----hello, I'm spark node", "\t", sn.ClusterName)}func (sn *KafkaNode) do(name string) { fmt.Println("----hello, I'm kafka node\t", sn.ClusterName)}type KafkaNode struct { ClusterName string}func main() { sparkNode := &SparkNode{ ClusterName: "k8s", } kafkaNode := &KafkaNode{ ClusterName: "kafka-node", } Handle(sparkNode, "111") Handle(kafkaNode, "222")}
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦