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.

  • 相关阅读:
    RMQ(非log2储存方法)
    2016年5月份学习记录
    NOIP200504循环
    膜拜acm大牛 虽然我不会这题,但是AC还是没有问题的~(转自hzwer)
    最长公共子序列的长度
    菜鸟,大牛和教主三者的区别(转自hzwer)
    NOIP201205Vigenère密码
    NOIP200503采药
    公路乘车
    NOIP200902分数线划定
  • 原文地址:https://www.cnblogs.com/Plorde/p/12313375.html
Copyright © 2011-2022 走看看