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.

猜你喜欢

转载自www.cnblogs.com/Plorde/p/12313375.html