我们可以使用面向对象的思想来解决这个问题。我们可以创建一个基本的'过滤器”类,并从该类派生出不同类型的过滤器子类。然后,我们可以创建一个消费者类,并为每个消费者实例化一个过滤器对象。这样每个消费者就可以根据自己的需求定制自己的过滤策略。 示例代码:
class Filter:
def apply(self, data):
pass
class Consumer:
def __init__(self, filter):
self.filter = filter
def consume(self, data):
filtered_data = self.filter.apply(data)
# do something with filtered data
在这个例子中,Filter
类是一个基类,它有一个apply
方法,子类可以重写这个方法。Consumer
类是消费者类,接受一个Filter
对象并调用它的apply
方法在数据上进行过滤操作。我们可以创建多个Filter
的子类,每个子类针对不同的数据类型和过滤需求实现不同的过滤器策略。然后,我们可以为每个消费者实例化一个特定的过滤器对象,让它们针对各自的需求进行数据过滤。