对于给定的类型Data,我想定义一组过滤器,每个过滤器都Data以某种方式进行处理。一些过滤器仅需要处理数据,其他过滤器可能需要其他参数。
type Data struct {
...
}
我希望能够定义一个过滤器列表,并将它们顺序地应用于的实例Data。为了达到这个目的,我定义了一个Filter接口:
type Filter interface {
Apply (d *Data) error
}
要定义过滤器,我要做的就是创建一个新类型并为其定义Apply方法。
现在,假设我有一个不需要任何其他信息的过滤器。将其定义为空是一种好习惯struct吗?
type MySimpleFilter struct {}
func (f *MySimpleFilter) Apply (d *Data) {
...
}
哔哔one
相关分类