项目管理步骤 1.需求评审:必须想尽办法把整个需求流程串联起来,形成总体认识闭环 2.接口层评审:想到每个场景下,是否缺少字段 3.开发UI和页面逻辑:把每个页面所有可能的逻辑都要考虑到 4.假数据测试 5.联合调试 6.测试上线 架构设计目标: 松耦合 可测试、容易定位问题。 可扩展 可替换 要写易删除,而不易扩展的代码 开发一个可以随着时间而改变的软件 1.套壳封装 松耦合:你如果可以在一个系统中删除某一模块而不用因此去重写其他模块的话,这个系统就通常被称为是松耦合的。 目的: 是为了松耦合,改动的时候减少代码量的修改,便于替换修改 使用delegate接口层隔离 例如: 网络库的上层封装,现在用HttpClient,可能以后会用Okhttp…… 图片库的封装:现在用Picasso,以后可能改成Freso…… 2.隔离、分层 分层核心:管理依赖,降低复杂度。 隔离核心:一部分的改变,不影响其他部分。把共享和可能改变的部分隔离开,共享部分抽象成接口或者抽象类。 例如: 包名隔离:每个模块业务,独立成一个api管理类和UI包。 MVP:M和V的隔离 设计模式的使用原因: 1.单例模式 针对一些存在线程安全的场景,例如数据库,多个对象容易导致线程充斥 2.Builder模式 类的成员变量太多,需要写大量的构造函数。 3.对象池模式 减少频繁创建对象,防止内存抖动 4.状态机 策略、流程、状态