iOS 理解架构

2018-05-15  本文已影响3人  UncleFool

基础架构MVC

关于MVC,斯坦福公开课那个白胡子老头的讲解已经很到位了。

MVC存在的问题:Controller过于臃肿,进而导致:

解决方案:

目前已知架构:MVVM、MVP、VIPER。

研究架构目的:使代码易复用、易拓展、易维护、易测试。

以上均是MVC的变种架构,即在MVC的基础上再分离,再抽象,再封装。

MVP:MVP全称Model-View-Presenter,其中包含三个角色:Model、View和Presenter。

(很多时候之所以不懂根本原因是概念模糊不清,所以正确理解概念非常重要。但是看博客经常看到水文,很有可能看了导致走了弯路,所以要多看比较,分析出正确概念。另外,有时候理解一个概念需要时间,不是一步到位,而是不断修正的过程。)

MVP主要解决了View和Model之间耦合的问题。耦合即View聚合和Model。缺点是,代码会增加。

总结:MV(X)架构不过是在MVC的基础上再分层,分层的目的是:在代码复杂度可控(不要失去易读性,否则同事阅读代码时也很不方便)的情况下,尽可能的进行拆分,使得代码更具复用性、易测试和易拓展。拆分要控制好粒度,不要有太多胶水代码。

上一篇 下一篇

猜你喜欢

热点阅读