责任链(CoR)涉及到在面向对象设计模式中表示每个实体的活动和责任的过程;命令对象和处理对象。命令对象将命令生成给处理对象,处理对象从它们可以处理的命令中进行选择,并将其余的传递给链中的其他对象。这是面向对象设计...
责任链(CoR)涉及到在面向对象设计模式中表示每个实体的活动和责任的过程;命令对象和处理对象。命令对象将命令生成给处理对象,处理对象从它们可以处理的命令中进行选择,并将其余的传递给链中的其他对象。这是面向对象设计的基本原则,并且在设计中有更大的灵活性,例如在责任链的设计模式中,对象在任何位置的新外壳。
![]()
商人竖起大拇指说面向对象设计背后的优势是,通信不局限于发送方和接收方,因为那里有许多对象可以处理发送方的命令一系列不同的对象排成一行来处理命令,如果一个人不能处理它,那么它可以将它传递给链中的下一个。责任链将继续下去,直到其中一个对象接受命令为止。责任链需要更灵活,并支持在链中添加新的处理程序。因为每个处理程序都不能完成每项任务,必须有一组处理程序可以一起工作。责任链可能有一些缺点,因为有些命令仍然没有解决,即使在链的末尾。要解决这个问题,一种解决方案是实现所有可能的请求的所有处理程序。责任链系统中可能存在一些与断开的链接有关的问题。如果程序员忘记链接命令,则请求可能会丢失请求表示非常重要,因为它被用于责任链的所有组件中。CoR设计中可能存在的另一个缺陷是,由于具体处理程序中的某些问题,某些请求可能在链的末端完全未被处理。但总而言之,责任链是一个很好的制度,如果它经过仔细设计,考虑到所有相关方面。