-
Notifications
You must be signed in to change notification settings - Fork 0
20210316从net.Conn总结包的共有 私有设计模式
zqy edited this page Mar 16, 2021
·
2 revisions
首先对比下net.Conn与我目前所设计的github.com/ziyouzy/river-node.NodeAbstract两者间的区别:
type Conn interface {
Read(b []byte) (n int, err error)
Write(b []byte) (n int, err error)
Close() error
LocalAddr() Addr
RemoteAddr() Addr
SetDeadline(t time.Time) error
SetReadDeadline(t time.Time) error
SetWriteDeadline(t time.Time) error
}
type NodeAbstract interface {
Name() string
Construct(config Config) error
Run()
ProactiveDestruct()
/*reactiveDestruct()*/
}
区别在于我的NodeAbstract中有个小写的reactiveDestruct()
目前的结论是,如果某个包中的接口内有个小写的方法,那么这个接口就等同于私有接口了,只能在这个包内部被实现,以及发挥其自身的价值
而包外,无论怎么努力也都无法实现这个接口
或者说,type NodeAbstract interface的公有化已经无意义了,他等同于type nodeAbstract interface