Core iOS Application Architectural Patterns
iOS的各种框架中包含以下几种常见的pattern
- Target/Action。比如UIBarButtonItem和UIButton的点击事件。
- Responder Chain。比如摇一摇的响应,一个链条,View -> View Controller -> Window -> Application -> AppDelegate。
- Composite。一组对象当做一个对象处理,比如AView上添加了很多Subview,AView就当做一个整体来处理,比如AView旋转、改变透明度,所有Subview也跟着旋转、改变透明度。UIDynamicBehavior也适用。
- Delegation。再熟悉不过。UIApplicationDelegate里面的功能假设是通过继承UIApplication来实现,Delegation与继承相比,优势是:使用者不需要了解太多UIApplication里面的具体实现,不用考虑调用super的各种情况,只需专注于处理特定的事件,easy to use。
- Data Source。和Delegation的设计初衷有些类似,使用的时候无需继承就可以提供数据,easy to use。
- Model-View-Controller。貌似现在流行MVVM了,项目中新写的代码部分使用了MVVM,确实达到了给View Controller瘦身的目的,目前效果还行。
网友评论