iOS设计模式 - 责任链
原理图
说明
在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。
源码
https://github.com/YouXianMing/iOS-Design-Patterns
//
// ChainOfResponsibilityProtocol.h
// ChainOfResponsibilityPattern
//
// Created by YouXianMing on 15/10/27.
// Copyright © 2015年 ZiPeiYi. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol ChainOfResponsibilityProtocol <NSObject>
/**
* 设置接替对象
*
* @param successor 接替对象
*/
- (void)setSuccessor:(id <ChainOfResponsibilityProtocol>)successor;
/**
* 返回接替对象
*
* @return 接替对象
*/
- (id <ChainOfResponsibilityProtocol>)successor;
/**
* 处理请求
*
* @param request 请求
*/
- (void)handlerRequest:(id)request;
@end
细节