zoukankan      html  css  js  c++  java
  • iOS中的设计模式

    1. MVC

    界面的刷新和数据的更改一律由控制器控制;数据包括数据本身和修改数据的方式

    用户的操作被控制器听到,控制器去修改数据

    数据改好了,控制器也会被通知,因此去刷新界面

    这样做的好处:界面和数据都可以复用

    讨论:MVC和MV的区别

    MVC时C主导所有功能,包括收到User Action后解析用户行为,并且更新数据以及所有相应的View;

    MV时没有了C,因此User Action会被直接发送给Model,经Model处理后,数据发生改变,View自然就变了;

    2. Singleton

    Apple自带的单例:UserDefaults.standardUIApplication.sharedUIScreen.mainFileManager.default

    我们可以把全局只有一个的数据也设置成单例,比如Parser,或者拆开来说:Outline,Slide等等

    3. Facade

    把复杂的东西用一个(只有一个)简单的接口访问,这样修改复杂的东西也不会影响接口,用户调用起来也没啥烦恼

    4. Decrator

    给一个东西加功能,但不改变它本身的代码

    两种实现方式:Delegation  和 Extension

    Delegation : 表格本身有2个Delegation,一个告诉它有哪些数据以及每行显示什么内容,一个告诉它点击具体的一行之后是什么操作

    Extension:有时加Extension可以使数据本身更适配

    苹果自带的Delegation:

     UITableViewUITextViewUITextFieldUIWebViewUICollectionViewUIPickerViewUIGestureRecognizerUIScrollView.

  • 相关阅读:
    安装git工具在ubuntu系统
    Ubuntu 16.04安装JDK并配置环境变量-【小白版】
    【gRPC使用问题4】
    【gRPC使用问题3】生成出来无法识别Google.Api.AnnotationsReflection.Descriptor
    LNMP
    Centos下安装Mysql
    yum方式安装的Apache目录详解和配置说明
    Centos下 yum方式安装LAMP
    CentOS配置网易163 yum源
    Apache主配置文件httpd.conf 详解
  • 原文地址:https://www.cnblogs.com/Plorde/p/12313375.html
Copyright © 2011-2022 走看看