一、抛出几个的问题
- 1.1、讲讲 MVC、MVVM、MVP,以及你在项目里具体是怎么写的?
- 1.2、你自己用过哪些设计模式?
- 1.3、一般开始做一个项目,你的架构是如何思考的?
二、架构(Architecture)
- 2.1、下面的是对架构的理解
- 软件开发中的设计方案
- 类与类之间的关系、模块与模块之间的关系、客户端与服务端的关系
- 2.2、平时常常听到的架构名词
- MVC、MVP、MVVM、VIPER、CDD
- 三层架构、四层架构
- 2.3、苹果最初对 MVC 的设计(代码交互都放在了Controller里面)
- 优点:View、Model 可以重复利用,可以独立使用
- 缺点:Controller的代码过于臃肿
- MVC模式的demo
- 2.4、MVC – 变种(其实就是给view传model,而不再是在Controller里面给view赋值,把赋值的操作放到view里面)
- 优点:对Controller进行瘦身,将View内部的细节封装起来了,外界不知道View内部的具体实现
- 缺点:View依赖于Model
- MVC 变种模式的demo
- 2.5、MVP 模式
- 特点:
- 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了Presenter里面
- 缺点:Controller可能要建立多个Presenter
- MVP 模式的demo
- 2.6、MVVM 模式
- 优点:View、Model 可以重复利用,可以独立使用,代码的处理都放在了viewMode里面
- 缺点:Controller可能要建立多个viewMode
- MVVM 模式的demo
- 2.7、三层架构、四层架构
三、设计模式(Design Pattern)
- 3.1、设计模式
- 是一套被反复使用、代码设计经验的总结
- 使用设计模式的好处是:可重用代码、让代码更容易被他人理解、保证代码可靠性
- 一般与编程语言无关,是一套比较成熟的编程思想
- 3.2、设计模式可以分为三大类(单例模式和观察者模式)
- 创建型模式:对象实例化的模式,用于解耦对象的实例化过程,如:单例模式、工厂方法模式,等等
- 结构型模式:把类或对象结合在一起形成一个更大的结构,如:代理模式、适配器模式、组合模式、装饰模式,等等
- 行为型模式:类或对象之间如何交互,及划分责任和算法,如:观察者模式、命令模式、责任链模式,等等
四、推荐内容
- 4.1、数据结构与算法
严蔚敏,《数据结构》
大话数据结构与算法 提取码: f2ux
4.2、网络
HTTP权威指南电子书 提取码: bsji
《TCP/IP详解卷1:协议》:买第一本就好
- TCP/IP详解卷1、2、3 电子书 提取码: 35ei
- 4.3、架构与设计模式