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.

  • 相关阅读:
    [AGC030F] Permutation and Minimum
    [GYM102904B]Dispatch Money
    [ZOJ3989]Triangulation
    [HDU6094]Rikka with KMatch
    CF739E Gosha is hunting
    [国家集训队]Tree I
    [BZOJ3864]Hero meet devil
    编程是一门实践性的科学
    IE下的flash加载中文URL文件 问题
    多线程1号
  • 原文地址:https://www.cnblogs.com/Plorde/p/12313375.html
Copyright © 2011-2022 走看看