thy*_*all 9 django design-patterns middleware
在 Django 中,有中间件的想法。它包括更改请求并将其传递给下一个中间件等等,然后对响应执行相反的操作。
中间件是设计模式装饰器的实现吗?他们是装饰者的特例吗?它们之间有什么区别?
另外,Django中Decorator的实现和GoF的描述有什么区别?
中间件和装饰器很相似,可以做同样的工作。它们提供了一种在链/堆栈下游的其他效果之前或之后插入中间效果的方法。
不同之处在于中间件管道是使用归约计算的,该归约向中间件提供了一个更简单的接口,该接口隐藏了链中的下一个中间件对象。相反,它提供了一个next函数,该函数使用正确的接口(例如IHandler.handle)将消息应用于该对象。
另一个区别是动态添加/删除中间件更容易,因为它存在于容器对象的中间(例如在数组中)并且管道可以按需组装。装饰器是一堆俄罗斯娃娃,它的堆栈不能那么容易地重新调整。
| 归档时间: |
|
| 查看次数: |
2408 次 |
| 最近记录: |