2013-11-28 47 views
0

昨天我接受了iOS的一次採訪,面試官問道,什麼OOP概念適用於MVC設計模式,對於這些模式我沒有任何線索,任何人都可以放一些這樣的東西。在MVC中應用了哪些OOP概念?

+0

是不是MVC獨立於OOP?我敢肯定,如果你願意,所有的OOP概念都可以適用於MVC。 –

回答

0

不是一個詳盡的列表..

繼承:UIView的往往是子類。

Polymophism。見繼承。

設計模式Model-Viewer-Controller:這就是MVC所代表的。

設計模式觀察者:廣泛用於MVC。 iOS中的MVC實現specificly使用

設計模式:

複合和指揮系統:Windows和意見傳遞消息給子視圖。

適配器:通常用於一個的UIView等

飛錘的延遲加載:用於UITable

+0

你能解釋一些現實生活中的例子嗎?我在網上進行了長時間的衝浪會話,但是沒有辦法nd任何具體的例子 – user2007454

+0

幾乎所有的iOS編程菜譜都充滿了突出這些事情的例子。但他們很少做OOP連接,因爲他們是爲實際的人。瀏覽維基百科列出的設計模式,然後看看一些iOS代碼。他們會馬上跳出來!享元(UITable),複合/責任鏈(觸摸事件處理)和繼承(繼承UIView等)無處不在。 –

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

+0

我認爲你誤解了這裏討論的問題,即在這些設計模式MVC中實際應用的OOP概念更具體 – user2007454