【发布时间】:2017-12-15 11:39:33
【问题描述】:
我正在编写一系列记录器。一个将写入控制台,一个写入标准输出,一个写入专有文件格式。在任何时候,我都希望这些记录器中的任何一个都能够独立实施和工作。
我原本打算使用装饰器模式将记录器堆叠在一起,但我意识到装饰器并不打算单独承担额外的责任。
所以我的问题: 1) 能够独立生活的责任是否可以接受? 2)装饰器模式仍然是正确的道路,还是有更适合我描述的问题的模式?
【问题讨论】:
-
decorators are not intended to have the additional responsibilities stand on their own到底是什么意思?装饰器应该始终松散耦合,否则您将失去将它们应用于代码不同区域的好处。 -
在我阅读的示例中,描述了装饰器本质上是附加职责的,并不打算独立存在。我很高兴知道我的假设是不正确的。