java为什么我们应该使用责任链而不是简单的for循环?
无论责任链模式完成了什么,都可以通过一个简单的for循环来完成。考虑本文中的钞票分配器示例。 https://www.journaldev.com/1617/chain-of-responsibility-design-pattern-in-java 我们可以使用for循环和if条件轻松实现。是n;只是把事情复杂化了
你可以在下面搜索框中键入要查询的问题!
无论责任链模式完成了什么,都可以通过一个简单的for循环来完成。考虑本文中的钞票分配器示例。 https://www.journaldev.com/1617/chain-of-responsibility-design-pattern-in-java 我们可以使用for循环和if条件轻松实现。是n;只是把事情复杂化了
# 1 楼答案
这并不是说:这是我们能做到这一点的唯一方法
但更多:嘿,看看这个疯狂的替代方法
对于一般的设计模式,我强烈建议您将其视为如何做某些事情的想法,而不是特定问题的解决方案
更像是。。。他们会教你一些有趣的方法来处理某些你以前可能没有考虑过的情况。所以,当你真的需要类似的东西时,你的大脑不会说“不,从来没有这样想过,别管我。”。“,但要建立其他方面可能无法建立的联系
我从未见过有人这样说:“让我们使用XYZ设计模式来实现这一点!” 然而,当人们不得不解释他们的代码时,我有时会听到他们提到某些设计模式。这意味着他们不必解释他们思路中的特定部分,并且仍然被理解
比如“嗯,这有点像一种责任链模式,除了……”
所以,不要花太多时间去想为什么,用你的时间去探索和理解如何去做。无论如何,谈论设计选择要花太多时间。每件事都有利弊
最后,让我们暂时谈谈为什么,尽管我不想这么说。我会简要地说,我相信还有其他方面要考虑。
(注意:当我说‘链的一部分’时,我指的是在同一终点结束的较低部分。比如a->;B->;C->;D->;E->;F。我指的是C->;D->;E->;F或D->;E->;F,而不是B->;C->;D)
不过,老实说,除了最后一点,其他的也可以通过以不同的方式构建围绕循环的代码来实现。再说一次,这正是你使用这种设计模式所要做的;)