在MVC中应用了哪些OOP概念?

时间:2013-11-28 06:30:05

标签: ios design-patterns

昨天我在iOS上接受了一次采访,面试官问道,在我不知道的MVC设计模式中有哪些OOP概念适用于任何人都可以解决这个问题。

2 个答案:

答案 0 :(得分:1)

来自Developer.Apple.com的引用,基本的iOS设计模式是: -

“无论您正在创建什么类型的应用程序,在开始编写代码之前都必须了解一些基本的设计模式和技术。在iOS中,系统框架为您的应用程序提供关键基础架构,在大多数情况下访问底层硬件的唯一方法。反过来,框架使用许多特定的设计模式并假设您熟悉它们。因此,了解这些设计模式是理解系统如何帮助您开发应用程序的重要的第一步。

您必须知道的最重要的设计模式是:

Model-View-Controller—This design pattern governs the overall structure of your app.

Delegation—This design pattern facilitates the transfer information and data from one object to another.

Target-action—This design pattern translates user interactions with buttons and controls into code that your app can execute.

Block objects—You use blocks to implement callbacks and asynchronous code.

Sandboxing—All iOS apps are placed in sandboxes to protect the system and other apps. The structure of the sandbox affects the placement of your app’s files and has implications for data backups and some app-related features.

准确有效的内存管理对iOS应用程序非常重要。由于iOS应用程序通常比可比较的台式计算机具有更少的可用内存,因此应用程序需要积极地删除不需要的对象,并且首先要创建对象。应用程序使用编译器的自动引用计数(ARC)功能来有效管理内存。虽然不需要使用ARC,但强烈建议使用ARC。另一种方法是通过明确保留和释放对象来自己管理内存。“

另请阅读:https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/DesignPatterns.html

编辑:

编程示例:

http://www.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/myrose.pdf

答案 1 :(得分:0)

不是详尽的清单..

继承:UIView通常是子类。

多态。参见继承。

设计模式模型 - 查看器 - 控制器:这就是MVC所代表的。

设计模式观察者:广泛用于MVC。

在MVC的iOS实现中特别使用的设计模式:

复合和命令链:Windows和视图将邮件传递给子视图。

适配器:通常用于UIView等的延迟加载。

Flyweight:用于UITable