用协议来统一接口

效果

源码

https://github.com/YouXianMing/ProtocolDesign

//
//  CellHeightProtocol.h
//  TableViewDemo
//
//  Created by YouXianMing on 15/6/17.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

/**
 *  请用一个值来维护并存储cell的高度
 */
@protocol CellHeightProtocol <NSObject>
@required
/**
 *  cell最终高度
 *
 *  @return 获取cell的最终高度
 */
- (CGFloat)cellHeight;

/**
 *  计算高度
 */
- (void)calculateTheHeight;

@end

说明

1. 协议与代理并不相同.

2. 协议可以统一接口,我们可以通过让对象继承协议来统一接口输出,加上与抽象父类配合,可以最大限度的做到高类聚,低耦合,提升你的代码逼格.

3. 用协议可以隐藏实现细节.提升代码可读性.

时间: 2024-11-02 07:42:59

用协议来统一接口的相关文章

【统一接口调用的设计与实现】-对象到报文的互换

在我们的日常业务系统开发过程中,随着业务的发展,我们经常需要与外围系统进行接口对接,用以获得对方的业务能力或者将自己的业务能力提供给对方,本文主要介绍外围系统的接口调用的介绍和统一调用的设计与实现. 接口调用生命周期 业务调用时,我们通常将接口接口数据按照一定的规范封装成报文或者参数,然后通过网络协议将对应的报文发送给对应的外围接口地址,外围接受到相关业务请求后,将内部处理结果,再通过约定的报文形式回传给接口调用方,整个过程如下图所示: 1)接口地址:对方提供的一个可以访问的URL地址,访问地址

《RESTful Web Services》第一章 使用统一接口

序言 HTTP是一种应用层协议.SOAP和一些Ajax Web框架都将HTTP作为一种传输信息的协议,难以充分利用HTTP层的基础设施. 1.2 如何保持交互的可见性 可见性是HTTP的一个核心特征.以下特征完全取决于保持请求和响应的可见性:缓存.乐观并发控制.内容协商.安全性和幂等性. HTTP通过以下途径来实现可见性: HTTP的交互是无状态的 HTTP使用一个统一接口,包括OPTIONS,GET,HEAD,POST,DELETE,TRACE方法 HTTP使用一种与MIME类似的信封格式进行

基于http协议的api接口对于客户端的身份认证方式以及安全措施[转]

基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服务器并与客户端的cookie中的jsessionid关联起来,这样客户端再次访问我们就可以识别用户身份了. 但是对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好.所以一般情况我们都是需要客户端提供一个key(每个

SSD的传输总线、传输协议、传输接口

前言:关于SSD,有众多总线类型.协议类型.接口类型,每个接口还包括不同型号,在这里花点时间全部整理一下,整理日期2017-08-08. 1.传输总线 总线就像一条公路,公路上的车好比总线上的电信号:公路的大小和车流量就决定了公路的车流量,故总线的位宽大小和传输频率决定了一次传输中能够提供的最大速度.常见的总线类型有: 1.1 PCIE PCIE是一切的根,所有外设都是由PCIE演化而来. 给出PCIe 2.0和PCIE 3.0标准速率,实际速率却很难达到这个理论值. 1.2 SATA 1.3

tomcat生命周期的管理——生命周期统一接口Lifecycle

我们知道Tomcat的架构设计是清晰的.模块化的,其拥有很多组件,假如我们要启动Tomcat,可以一个一个启动组件,但这样启动有很多缺点,不仅麻烦,而且容易漏了组件启动,还会对后面动态组件扩展带来麻烦.难不成真要我们一个一个启动吗?其实未必,Tomcat的设计者提供了一个解决方案:用Lifecycle管理启动.停止.关闭. 从第一节的架构图可以看到各个核心组件有包含与被包含的关系,例如Server<-Service<-Container和Connector,最大的是Server,往下一层层包含

核新通达信双协议异步交易接口介绍

HxTrade_SDK介绍文档 本文档文档介绍了核新通达信双协议异步交易SDK HxTrade的用法.如果您需要该接口或者合作项目开发请联系我下载演示程序,QQ:3257418287. 市面上券商的交易软件多采用2种协议:核新和通达信SSL,这两种协议一起大约占了95%的市场份额. HxTrade接口可同时支持这两种协议,也就是支持绝大多数的券商,可直接与券商服务器进行交互,具备普通交易和信用交易.撤单.当日查询.历史查询等 功能. HxTrade采用异步方式返回结果,用户在调用API接口后无需

TCP/IP协议与HTTP协议区别SOCKET接口详解

网络由下往上分为:      物理层--                       数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议   socket则是对TCP/IP协议的封装和应用(程序员层面上).也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据.关于TCP/

OAuth2.0协议之新浪微博接口演示

新浪微博接口调用数据代码: <?php /** * @ Author : LiBo * @ Date : 2013-10-25 * @ File : weiboapi.php * * @ 说明:回调页面http://pressure.manyi.cc/weibo/ok.php中, * 仅做session保存code的值即可. **/ /** * 开启session,因为授权请求返回的code每次都会变化,而获取access_token是需要传递code的值, * 所以需要用session来存储c

WEB使用OAuth2协议实现开放接口的设计方案(待完善)

术语 developer:开发者,第三方应用的开发者. openPlat:开放平台,发放App Key(相当于第三方应用的ID).App Secret(私钥,验证ID是否唯一有效,需要妥善保管). Authorization Server:授权服务端,发放Code.Access Token,验证App Key.App Secret.Code的有效性. Resource Server:资源服务器,验证Access Token,提供资源的访问接口. Client:客户端(第三方应用),发送访问受保护