美文网首页
IOS 常用设计模式的优劣势

IOS 常用设计模式的优劣势

作者: 迷程 | 来源:发表于2021-05-20 08:45 被阅读0次

以确定何种设计模式更加适合自己所需要完成的App。

主流的设计模式目前有以下几种(其优劣势仅针对IOS开发):

MVC:

  优势:

            1.上手简单,使用MVC模式的App 对于数据的处理和界面的处理一般都在viewController中,对于新手来说易于上手。

            2.mode和view同时由viewonCtroller做中介来完成各自的工作,直观而且易于错误处理。

            3.界面和数据分离,在功能不是很复杂的情况下易于维护和代码编写。

  劣势:

           1. ViewController会随着功能的复杂而变得臃肿异常,负担过重。代码行数过多在后期维护成本居高不下,查找和修复错误效率较低。

            2.MVC模式中对于网络代码处理的尴尬。苹果使用的 MVC 的定义是这么说的:所有的对象都可以被归类为一个 Model,一个 view,或是一个控制器。按照这种说法,网络代码和API通信无处可放。

            3.MVC模式测试性较差。这种模式下,开发人员在开发完model层和view层之前,编写单元测试代码难度比较高,也影响效率,最终的结果往往是写完了一看bug还有很多。

MVP:

  优势:

            1.解除view与model的耦合,使得view或model有更强的复用性。            

            2.相对于MVC,对于单元测试友好很多。

   劣势:

            由于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁。还有一点需要明白,如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么Presenter也需要变更了。

MVVM:

    优势:

             由MVC模式演进而来,促进了UI代码与业务逻辑的分离。在一定程度上解决了viewController过于臃肿的问题。

    劣势:

            1.由于MVC使用数据和界面分离,且数据可能与多个界面耦合,这导致一旦出现bug,调试上会出现较大困难。

            2.如果项目过大,会导致绑定数据和转化数据成本更高,不利于维护。

VIPER:

       优势:

.            1.全新模式,兼容了MVP和MVVM的优势,更加细分了viewController的功能,弱化了viewController,更加利于单元测试,提高代码质量。

             2.数据单向流动,使每一层专注于完成其特定的功能,使类更为强大。

        劣势:

            1.首当其冲的就是由于其相对较为复杂的分类,意味着新建一个VIPER模式的App需要大量的模板类代码,其困难程度让很多人望而却步。

            2.相对于前几个模式,更加细分就意味着上手难度较高,对于没有使用过此模式的开发者来说阅读代码较为困难。

各有千秋,按需取舍。


相关文章

  • IOS 常用设计模式的优劣势

    以确定何种设计模式更加适合自己所需要完成的App。 主流的设计模式目前有以下几种(其优劣势仅针对IOS开发): M...

  • 常用设计模式整理

    ios面试题(整理) ios常用的设计模式有哪些? MVC模式、委托模式、观察者模式(kvo、kvc、通知机制)、...

  • 单例的2种写法

    单例模式是iOS开发中最常用的设计模式,iOS的单例模式有两种官方写法,如下: 1,常用写法 import "Se...

  • iOS工厂模式

    工厂模式(Factory Pattern)是 iOS 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它...

  • MY_iOS常用设计模式总结

    iOS常用设计模式总结(一) 设计模式大概分成三类:1.创建型:单例设计模式、抽象工厂设计模式2.结构型:MVC ...

  • 《iOS开发》--------常用的设计模式

    关于iOS开发中的设计模式,当下有集中最常用的设计模式:代理模式、观察者模式、MVC模式、单例模式、策略模式、工厂...

  • 03-设计模式(包括KVO/KVC)

    iOS开发常用设计模式? 详细blog链接 MVC模式 MVVM模式 代理模式 单例模式 工厂模式 装饰者模式 观...

  • IOS开发过程中常用的设计模式

    当下IOS开发的过程中,常用的设计模式有:单例模式、委托模式、观察者模式和MVC模式; 一、单例模式 我们平时常用...

  • iOS开发之MVVM+RAC架构模式

    在说MVVM之前,首先要了解我们最常用的MVC设计模式⬇️ 1.MVC设计模式 苹果官方将MVC设计模式作为iOS...

  • iOS开发-单例模式的解读及用法

    近期会对ios开发过程中常用的设计模式进行简单的归纳总结,希望大家继续关注我的博客; iOS开发常见设计模式:MV...

网友评论

      本文标题:IOS 常用设计模式的优劣势

      本文链接:https://www.haomeiwen.com/subject/hgxbqftx.html