IOS常用设计模式首篇之---MVC模式
2016-01-22 14:34
609 查看
设计模式的重要性相信对每一位软件工程师来说都是不言而喻的。设计模式的本质呢就是针对软件设计中的常见问题,提供了一些可复用的解决方案,软件工程师可以通过这些模板写出易于理解且能够复用的代码。正确的使用设计模式可以降低代码之间的耦合度,从而很轻松的修改或者替换以前的代码。
设计模式现在已经有很多种了,具体可以参考《软件秘笈:设计模式那点事》和《大话设计模式》,据说这两本书都写的不错!这里聊聊在IOS开发中常用的设计模式:
创建型(Creational):单例模式(Singleton)
结构型(Structural):MVC、装饰者模式 (Decorator)、适配器模式(Adapter)、外观模式 (Facade)
行为型(Behavioral):观察者模式(Observer)、备忘录模式(Memento)
所以后面就在IOS专栏博客里分篇聊聊以上的设计模式,从这篇博客的MVC模式开聊吧!
Model-View-Controller ( MVC ) 被称为设计模式之王,是最常用的设计模式之一。Model(M)是指业务模型,View(V)是指用户界面,Controller(V)则是控制器。其中V一般都是继承自UIView这个基类,C一般都是ViewController这个类。使用MVC的目的是将M和V的实现代码分离,C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。文字描述表达的意思总是有限的,下面附上参考别人的两张图:
看了上面的两张图,MVC模式以及M V及C之间的关系就明朗了很多吧。
MVC模式的使用与代码组织
一图胜千言,还是先上图吧:
上面的第一张图是一个比较简单的MVC代码组织,第二张图就是比较复杂一些的代码组织了,M层不但有业务逻辑层还有数据层,数据层只和数据打交道,和业务毫无关系。
MVC 的强大之处就是:三大元素,各司其职,减少依赖,将代码更好的分离和重用,便于维护与升级。
参考:
手把手教学,详解Swift中的iOS设计模式:http://www.csdn.net/article/2015-01-19/2823615-ios-design-patterns-in-swift/1
浅析iOS程序设计模式(基于MVC):/article/4695550.html
设计模式现在已经有很多种了,具体可以参考《软件秘笈:设计模式那点事》和《大话设计模式》,据说这两本书都写的不错!这里聊聊在IOS开发中常用的设计模式:
创建型(Creational):单例模式(Singleton)
结构型(Structural):MVC、装饰者模式 (Decorator)、适配器模式(Adapter)、外观模式 (Facade)
行为型(Behavioral):观察者模式(Observer)、备忘录模式(Memento)
所以后面就在IOS专栏博客里分篇聊聊以上的设计模式,从这篇博客的MVC模式开聊吧!
Model-View-Controller ( MVC ) 被称为设计模式之王,是最常用的设计模式之一。Model(M)是指业务模型,View(V)是指用户界面,Controller(V)则是控制器。其中V一般都是继承自UIView这个基类,C一般都是ViewController这个类。使用MVC的目的是将M和V的实现代码分离,C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。文字描述表达的意思总是有限的,下面附上参考别人的两张图:
看了上面的两张图,MVC模式以及M V及C之间的关系就明朗了很多吧。
MVC模式的使用与代码组织
一图胜千言,还是先上图吧:
上面的第一张图是一个比较简单的MVC代码组织,第二张图就是比较复杂一些的代码组织了,M层不但有业务逻辑层还有数据层,数据层只和数据打交道,和业务毫无关系。
MVC 的强大之处就是:三大元素,各司其职,减少依赖,将代码更好的分离和重用,便于维护与升级。
参考:
手把手教学,详解Swift中的iOS设计模式:http://www.csdn.net/article/2015-01-19/2823615-ios-design-patterns-in-swift/1
浅析iOS程序设计模式(基于MVC):/article/4695550.html
相关文章推荐
- 超全!整理常用的iOS第三方资源
- iOS设计规范、切图规范与需求
- iOS 图片文件上传 ----表单形式
- iOS 官方文档 NSDateComponents
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
- iOS 开发使用小细节
- iOS Mob短信验证码
- IOS开发:手势画板涂鸦
- iOS开发学习路径的一些建议
- iOS开发之Masonry(五)
- XMPP扩展协议详解
- iOS中类似QQ圆形头像 处理
- iOS开发-原生二维码的扫描和生成
- iOS关于菜单滚动视图实现
- iOS开发-原生二维码的扫描和生成
- iOS版上传数据到阿里后台(AliyunOSSiOS)
- IOS开发知识(六)
- iOS项目开发实例
- IOS开发知识(五)
- IOS开发知识(四)