关于IOS的网络请求与交互,有一个比较常用的插件就是ASI, 就象 ruby 的 RestClient 。这个工具很多常用的方法,可以解决现在的大部分需求。
不过,对于网络请求的安全机制,都是各个项目写各自的策略,没有一套完美的标准来支持各项业务,所以是时候来统一这个标准了。
在设计这套IOS安全方案之前,也有同事用到过其它的一些第三方网络请求插件,各有优劣。所以为了兼容不同的第三方插件,在设计时也要考虑这一点。
另外,关于网络安全策略,也有几套现有国际通用标准,所以除了为我们自己定制的安全策略外,也要能兼容它们,以适应和其它第三方做接口.
然后得到这套初略的设计:
BHHTTPRequestFactory
是一个工厂类,可以为各种第三方插件进行支持,以后要添加一个第三方插件,只需要增加一个工厂类和实体类。大家都遵循统一的创建方法createHttpRequest
。这个创建方法同样也遵循统一的网络请求协议,BHHTTPRequestProtocol
,这个协议可以封装我们自己的标准方法。
为了使这个方法支持适应各种标准,所以这里用了策略模式将它放在了一个策略类中:HTTPSecurity
, 同样扩展也是非常方便的。
其中有几个细节要注意,ASI已经封装的很好的类了,为了不破坏其基础特性我们这里只是对它进行了继承,然后进行了各自的扩展。 但oc是不支持多重继承,所以这里用到了协议 <BHHTTPRequestProtocol
>。 这样它不仅可以用ASI的特性,也可以在其上增加公司自身的安全策略。
在创建这个实体时也只是对其进行接口生成,而不针对具体类,所以就解决了在<BHHTTPRequestFactoryProtocol
>创建的实体到底是哪个具体类的情况,不用依赖的这么紧密。
这是实用的一例:
BHASIRequestFactory *requestF = [[BHASIRequestFactory alloc] init];
id request = [requestF createHttpRequest];
[request createSecurity]; // 创建安全策略
[request buildSecurityParams]; // 完成安全加密等任务
以上只是个人的一点拙见!
- 大小: 18.7 KB
- 大小: 68.2 KB
分享到:
相关推荐
iOS 设计模式 策略模式
《iOS软件设计说明书》 在当今移动互联网时代,iOS平台因其稳定性和用户体验的良好口碑,成为了众多开发者和用户的首选。本说明书将深入探讨iOS软件的设计理念、流程和技术要点,旨在为开发者提供一份详尽的指导...
策略模式在iOS开发中有很多应用场景,比如网络请求的策略(同步、异步、缓存),数据存储策略(SQLite、CoreData、iCloud),动画执行策略等。通过使用策略模式,我们能够保持代码的整洁,提高代码的可维护性和可...
XIB(XML Interface Builder)文件是iOS中用来可视化设计用户界面的工具,我们可以为每个策略类创建一个对应的XIB文件,然后在代码中加载并使用这些对象。这样可以使界面与业务逻辑分离,提高代码的可读性和可复用性...
iOS安全学习笔记的知识点涵盖了多个方面,从学习资料的搜集到优秀博客文章和GitHub资源的整理,这为iOS安全研究者提供了一个丰富的资源库。以下是对上述内容中提及知识点的详细说明: 1. iOS安全学习资料汇总 首先...
在iOS开发中,常见的设计模式有单例模式、工厂模式、代理模式、观察者模式、装饰模式、策略模式、建造者模式等。这些模式在不同场景下各有优势,能够帮助开发者更好地组织代码。 2. **架构设计**:iOS应用的架构...
在这一领域,你需要掌握Android和iOS应用开发的基本技能,包括编程语言、开发工具、用户界面设计以及跨平台开发的策略。 在Android开发中,主要使用的编程语言是Java或Kotlin。Java作为早期的Android开发语言,拥有...
在iOS开发中,构建一个网络播放器涉及到许多关键知识点,主要涵盖了网络请求、数据解析、音频播放以及用户界面设计等方面。下面将详细阐述这些技术点。 1. **网络请求**:在“iOS网络播放器”中,首要任务是通过...
iOS 设计规范 iOS 设计规范是 Apple 官方发布的一份详细的设计指南,旨在帮助 App 设计师和开发者创建高质量的 iOS 应用程序。该规范涵盖了 iOS 设计的各个方面,包括设计原则、界面元素、用户交互、视觉设计、...
《iOS网络编程与云端应用》是一本深入探讨iOS平台网络编程和云端应用开发的专业书籍,由关东升撰写。本书旨在帮助iOS开发者掌握网络通信的基本原理和实践技巧,以及如何利用云端服务提升应用的功能和用户体验。 一...
### iOS架构与设计 #### 一、社交型App的需求分析 社交型App作为一种常见的移动应用类型,在iOS平台上的设计和开发具有一定的共性。对于这类应用而言,它们往往需要满足以下几种基本需求: 1. **用户认证与授权**...
在iOS毕业设计中,开发一款音乐播放器是一个常见的项目,它可以帮助学生深入理解移动应用开发,特别是针对苹果平台的iOS。这款音乐播放器利用SVHTTPRequest库进行音乐的下载功能,这表明它涉及到网络编程、多媒体...
在这个项目中,主要涉及到的技术点包括系统提供的网络状态API、监听网络变化的方法以及在应用中实时反馈网络状态的策略。 首先,我们来看一下iOS系统提供的网络状态API。在iOS中,主要通过`Reachability`类来检测...
《iOS网络编程与云端应用最佳实践》是介绍iOS 6网络编程和云端应用开发技术书籍,介绍了苹果网络、数据交换格式、WebService、iCloud、定位服务、地图、推送通知、Newsstand、应用内购买、Passbook、以及社交网络...
IOS安全 .pdf
完成升级后,应立即验证新IOS的运行状况,包括检查系统日志、监控网络性能以及测试策略路由功能是否按预期工作。此外,建议在非高峰时段进行此类操作,以便于在出现问题时有足够的时间进行故障排除。 总之,升级...
《iOS网络高级编程》是一本深入探讨iOS平台上网络编程技术的专业书籍,主要针对有经验的iOS开发者,旨在提升他们的网络编程能力。这本书涵盖了各种网络通信协议、数据传输方式以及网络应用设计模式,提供了丰富的源...
iOS-访问网络 iOS-访问网络 iOS-访问网络
在iOS开发中,设计模式是开发者们为了解决常见问题而形成的一种最佳实践。它们是经过时间验证、可重用的解决方案模板,可以帮助我们构建高效、可维护和扩展的代码。本资源“iOS 设计模式及源码实现”深入探讨了iOS...
iOS网络编程是苹果iOS开发中的一项重要技能,它允许应用程序通过网络与其他服务器或设备进行通信和数据交换。在iOS平台上,有多种网络编程的实现方式,包括但不限于使用URLSession, NSURLConnection, WebSockets等。...