设计模式面试啥

2020-05-12  本文已影响0人  QG不吃鱼的猫

iOS设计模式

一、设计模式的6大设计原则

1.单一职责原则
简言就是一个类只负责一种职责的工作。
CALayer动画和视图的展示
UIView只负责事件的传递、响应

2.里氏替换原则
父类可以被子类无缝替换,且原有功能不受任何影响。

3.迪米特法则
一个对象应该对其他对象尽可能少的了解,实现高内聚,低耦合。

4.依赖倒置原则
高层模块不应该依赖底层模块,抽象不应该依赖细节,细节应该依赖抽象,也就是常说的依赖接口编程,而不是依赖实现编程。

5.接口隔离原则
使用多个专门的协议,而不是一个庞大的协议。

6.开闭原则
对修改关闭,对扩展开放,要考虑到后续的扩展性,而不是在原有的基础上来回修改。

二、如何设计一个图片缓存框架

* 框架构成:manager、内存缓存、磁盘缓存、网络下载、图片解码解压缩
*需要考虑的点:内存、内存淘汰机制、磁盘存储和移出机制、图片请求并发量、图片请求超时机制、图片解码和解码时机

三、如何设计一个时长统计框架

*记录器、记录管理者(内存/磁盘存储,上传)、防丢失(定期或者达到某个值进行磁盘写入)、上传时机选择(前后台切换或者网络切换)、上传方式(立即上传、定时上传、延时上传)
上一篇下一篇

猜你喜欢

热点阅读