OOP面向对象编程:1. 封装,2,继承,3. 多态 五大原则: SRP单一职责原则:一个类的功能要单一,表现突出的VIPER模式 OCP开放封闭原则:模块扩展性为开放的,模块更改性则为封闭的。 LSP替换原则, DIP依赖原则, ISP接口分离原则:模块间的功能通过抽象接口隔离

封装:将抽象事物的特征,行为,转化为代码中的类:属性和方法即为封装,体现2.对属性和方法的访问权限的控制 私有,公有不同级别的保护。 继承:广义上也是一种对代码的复用。继承有两种方式:实现继承和接口继承。

多态:一个类实例的同一个方法,在不同情形有不同的表现形式。类似多个构造器和便利构造器,实现的功能都是初始化类实例的作用

子类场景

优点:代码封装,重用组件

  1. 自定义系统控件时: 如:对UITableViewCell等视图,自定义布局。
  2. 针对多平台,多版本来编写代码 实现:创建一个基类,创建iPhone子类/iPad子类来继承重写特性方法。
  3. 子类化模型对象,继承isEqual:,hash,copyWithZone:和description等方法,参考开源框架Mantle

子类的场景替代方案

深层次的集成的替代方案:

  1. 子类使用相同的接口,协议替代,
  2. 当对象正常运行需要大量配置时,使用代理来完成配置
  3. 对现有的类增加简单功能时,使用类别来扩展
  4. 重写一堆相同方法子类时,使用配置对象代替
  5. 当重用某些功能时,使用组合多个对象来代替,而不是扩展它们

简明架构:VIPER模式:单一职责,

将APP逻辑结构划分为不同的责任层: View视图,Interactor交互器,Presenter展示器,Entity实体,Routing路由

  1. 接口隔离原则:隔离依赖项,
  2. 单一职责原则:利于测试各层间边界处的交互。
  3. 轻量化VC,提高可读性,维护性。

基于用例的应用设计 待办事项清单示例

用例别称为验收标准,或行为集,它们用来描述应用的用途。独立于用户界面,主要针对在应用程序中的负责业务逻辑层的测试操作。 举例:清单可以根据时间,类型以及名字排序,这就是一个用例。 特征:足够小,良好的定义。 作用:将复杂的应用分解成较小的用例。

单一职责原则:便于测试 测试用例: 模拟网络数据->拦截HTTP请求->模拟一个响应对象给请求方 目的: 模拟数据,激活iResearcher

  1. 多线程下载
  2. VIPER架构

LLDB命令和断点的合用 变量,对象:p ,po,e 表达式, 流程控制:thread 断点管理:breakpoint LLDB和Python AppleScript

Instruments 自定义工具–DTrace语法 ->自动化脚本 终端成员DTrace 使用IB工具来编写DTrace脚本,并可以方便的导出DTrace脚本,可用于脚本自动化时收集APP运行状态的数据, 探针 (断言,动作,提供者,全部变量 ,begin,end) DTrace脚本是在内核中运行中的,需要IB工具做缓冲区,来封装内核数据达到ib工具识别

废除功能: run Browser浏览器功能 UI automation功能

view属性的自动布局