iOS设计模式——MVC

设计模式的好处:我们可以写出容易理解,重用度很高的代码。降低代码的耦合度,符合软件工程的思想。

设计模式主要分为三类:创造型的:单例和抽象工厂。结构类型的:

MVC  Decorator, Adapter, Facade and Composite.等这几种模式

行为性的:Observer, Memento, Chain of Responsibility and Command.

讲讲第一个设计模式MVC,我们的iOS应用基本都是基于MVC的。

model:持有我们应用的数据,和定义怎么操控他。在你的应用里面就是Album 这个类

View:处理用户的操作和展示model,都是UIView的子类。在应用里面是AlbumView类

Controller:他的作用主要是用来协调View和model把数据展示到View上,就是应用的Viewcontroller类

Image

model通知Controller如果有数据改变,在Controller更新数据在View上。View可以通知Controller用户执行的操作。然后Controller来更新数据。如果有任何数据更新请求。

你可能担心为什么不抛弃Controller呢,并且实现View和model在同样的类看起来更容易。

所有的这一切归功与代码的分离性和可重用性。理想情况下,我们应该让View和model分离,如果View不依赖与模型的具体实现。这样就可以用不同的model来表达不同的数据。

例如,在将来你也许添加movies或者books向你的库里。你仍然可以用同样的View来展示你的movies或者books对象。此外,你如果想创建一个新的项目来处理albums,你可以简单的重用你的专辑类,因为他不依赖任何View。这就是MVC的力量。

怎么使用MVC设计模式呢?

首先你需要确保你的项目中的每个类是一个控制器一个model一个View,不要把两个角色在一个类里面。你已经做好了很好的工作到目前位置你创建了一个Album 和一个AlbumView 类。

第二你为了确保这个方法可行还需要创建三个项目组来放置你的代码为每个类别。

创建三个文件夹一个是model 一个是view 还有一个Controller

现在把之前创建的类放到相应的位置。最后变成这样:

Image(1)

现在你的项目结构看的已经很清晰了,没有很多漂浮的文件,明显的你可以有其他的分组和类,但是应用的核心应该包括这三个类别。

来自英文教程翻译谢绝转载!!!未经允许不得转载维权必究!!!

本类目的设计模式是根据这个例子讲解

https://files.cnblogs.com/qiqibo/BlueLibrary-final.zip

原文地址:https://www.cnblogs.com/saurik/p/4816399.html