iOS架构模式

一、MVC:

Models - 负责主要的数据或者操作数据的数据访问层,可以想象Person和PersonDataProvider类;

Views - 负责展示层(GUI),对于iOS环境可以联想一下以UI开头的所有类;

Controller/Presenter - 负责协调Model和View,通常根据用户在View上的动作在Model上做出对应的更改,同时将更改的信息返回到View上。

好处:

1)更好的理解他们之间的关系;

2)复用(尤其是对于View和MOdel);

3)独立的测试;

4)易用,与其他几种模式相比,较小的代码量,熟悉的人很多,因而即使对于经验不那么丰富的开发者来讲维护起来也较为容易。

不足:

1)任务均摊 - View和Model确实是分开的,但是View和Controller却是紧密耦合的;

2)可测试性 - 由于糟糕的分散性,只能对Model进行测试;

二、MVP

三、MVVM

原文地址:http://m.open-open.com/m/lib/view/1452219383245.html

时间: 2024-10-28 08:59:26

iOS架构模式的相关文章

iOS 开发中的 Flux 架构模式

本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时分享我们目前积累到的经验. 我尝试通过讨论代码来描述我们大部分的 Flux 实现, 它用于我们今天的产品中. 如果你只对综合结果感兴趣, 请跳过这篇文章的中间部分. 为什么从 MVC 转移 为了引入我们的决定, 我想要先谈一谈 PlanGrid 这个应用遇到的一些挑战.一些问题仅针对企业级应用程序,

iOS - MVP 架构模式

1.MVP 从字面意思来理解,MVP 即 Modal View Presenter(模型 视图 协调器),MVP 实现了 Cocoa 的 MVC 的愿景.MVP 的协调器 Presenter 并没有对 ViewController 的生命周期做任何改变,因此 View 可以很容易的被模拟出来.在 Presenter 中根本没有和布局有关的代码,但是它却负责更新 View 的数据和状态.MVC 和 MVP 的区别就是,在 MVP 中 M 和 V 没有直接通信. MVP 是第一个如何协调整合三个实际

设计模式、企业应用架构模式和架构模式学习总结

设计模式: 简单工厂模式 工厂方法模式 抽象工厂方法模式 单例模式 外观模式 生成器模式 原形模式 中介者模式 代理模式 观察者模式 命令模式 迭代器模式 组合模式 模版方法模式 策略模式 状态模式 备忘录模式 享元模式 解释器模式 装饰器模式 职责链模式 桥接模式 访问者模式 企业应用架构模式 事务脚本 大家都懂的写法 领域模型 DDD的建模方法:领域对象.value对象 Unit of Work Entity Framework已经集成这功能了 Lazy Load 同上 查询对象 针对Spe

软件体系架构模式在J2EE中的应用

本文介绍了软件体系架构产生的背景和架构模式的基本理论.重点介绍管道与过滤器体系架构模式的结构,实现,优缺点等,然后以J2EE的Servlet Filter为例进行剖析它是怎样应用该架构模式的,最后简单阐述了在其它J2ee应用中(Jboss和Axis)的实践. 软件体系架构 1.软件体系架构产生背景 在经历60年代的软件危机之后,使人们开始重视软件工程的研究.来自不同应用领域的软件专家总结了大量的有价值的知识. 当初,人们把软件设计的重点放在数据结构和算法的选择上,如Knuth提出了数据结构+算法

MVC架构模式与利用JAVABEAN分页

众所周知MVC不是设计模式,是一个比设计模式更大一点的模式,称作设计模式不合理,MVC模式应该叫架构模式,MVC里面用了许多小的模式,例如策略模式,组合模式,聚集模式,可以用到的模式有十几种之多,而设计模式里也就27种,MVC很重要,现在流行的STRUTS框架也是类似的实现,建议大家有时间可以研究下STRUTS,现在很多公司都开始使用这个框架来做大型的企业系统开发,STRUTS是APACHE的一个开源项目,所有资料都可以从APACHE网站得到.当然目前国内也有翻译了一些STRUTS文章,不过大都

浅谈MVC架构模式

   MVC英文即Model-View-Controller,就是把一个应用分为三个层:视图层.模型层.控制层.    模型层(M)用于封装业务逻辑.    视图层(V)也叫表示层,就是与用户实现交互的界面,通常实现数据的输入和输出功能.    控制层(C)起到控制整个业务流程的作用.简单的说就是调用业务逻辑,然后把得到的数据转发给视图显示给用户. 为了熟悉MVC架构模式,特意将学生查询改成了MVC模式的. 1.首先建立客户端页面(student.jsp): 1 <%@ page languag

网站架构模式

模式描述对重复发生时间的通用解决方案的核心. 模式的价值在于可重复性. 网站架构模式 为了解决高并发访问,海量数据,高可靠运行,提出了很多解决方案实现高性能,高可用,易伸缩,可扩展,安全等技术架构. 分层 横向分成, mvc, 视图,业务,数据库层 进制跨层调用 会给以后的优化带来很多的方便 可以每层部署到不同的物理设备 分割 纵向切割, 按功能和服务包装成高内聚低耦合的模块单元. 一方面有利于开发和维护,一方面利于分布式部署,提高并发处理能力和功能扩展能力 例如将网站分为:购物,论坛,搜索,广

环信首席架构师一乐 :煎饼果子与架构模式

煎饼的故事 有一段时间住在花园路,最难忘的就是路边的煎饼果子.老板每天晚上出来,正好是我加班回去的时间. 一勺面糊洒在锅上,刮子转一圈,再打一个蛋,依然刮平.然后啪的一下反过来,涂上辣酱,撒上葱花.空出手来,剥一根火腿肠.最后放上薄脆,咔咔咔三铲子断成三边直的长方形,折起来正好握在手中.烫烫的,一口咬下去,蛋香.酱辣.肠鲜,加上薄脆的声音和葱花的惊喜,所有的疲劳都一扫而光. 这种幸福感让我如此迷恋,以至于会在深宅的周末,穿戴整齐跑出去,就为了吃上一个.也因为理工科的恶习,我也情不自禁地开始思考这

二、大型网站架构模式

网站架构模式     分层 横向维度,每个部分负责单一的职责.上层对下层依赖和调用. 应用层,服务层和数据层     分割 网站越大,不同功能和服务分割出来形成高内聚低耦合模块单元.     分布式 分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作. 数据在分布式环境中保持数据一致性非常难,分布式难以保证. 分布式应用和服务.分布是静态资源.分布式数据和存储.分布式计算.并发和协同的分布式锁. Zookeeper 的典型的应用场景(配置文件的管理.集群管理.同步锁.Leader