昨天我接受了iOS的一次採訪,面試官問道,什麼OOP概念適用於MVC設計模式,對於這些模式我沒有任何線索,任何人都可以放一些這樣的東西。在MVC中應用了哪些OOP概念?
回答
不是一個詳盡的列表..
繼承:UIView的往往是子類。
Polymophism。見繼承。
設計模式Model-Viewer-Controller:這就是MVC所代表的。
設計模式觀察者:廣泛用於MVC。 iOS中的MVC實現specificly使用
設計模式:
複合和指揮系統:Windows和意見傳遞消息給子視圖。
適配器:通常用於一個的UIView等
飛錘的延遲加載:用於UITable
你能解釋一些現實生活中的例子嗎?我在網上進行了長時間的衝浪會話,但是沒有辦法nd任何具體的例子 – user2007454
幾乎所有的iOS編程菜譜都充滿了突出這些事情的例子。但他們很少做OOP連接,因爲他們是爲實際的人。瀏覽維基百科列出的設計模式,然後看看一些iOS代碼。他們會馬上跳出來!享元(UITable),複合/責任鏈(觸摸事件處理)和繼承(繼承UIView等)無處不在。 –
從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。另一種方法是通過顯式地保持和釋放對象自己管理內存「
編輯:
對於編程示例:
http://www.cs.colorado.edu/~kena/classes/5448/f12/presentation-materials/myrose.pdf
我認爲你誤解了這裏討論的問題,即在這些設計模式MVC中實際應用的OOP概念更具體 – user2007454
- 1. 一些邏輯OOP概念
- 2. OOP封裝概念
- 3. oop概念實現
- 4. 瞭解一些概念
- 5. 在這段JavaScript中發現了哪些元素/概念?
- 6. 該類中使用的OOP概念
- 7. Ruby OOP正確的概念?
- 8. JavaScript的OOP概念問題
- 9. 高級的oop概念
- 10. Java OOP概念問題
- 11. Java swing jframes中最常見的OOP概念在哪裏實現?
- 12. Laravel MVC概念
- 13. 構建Silverlight應用程序時需要了解哪些有用的概念?
- 14. MVC實現概念(概念(ABAP SAP)
- 15. 可用的OOP概念列表
- 16. Android中OOP概念的示例
- 17. 其中OOP的概念不提供PHP
- 18. OOP概念的重要性?他們是否充分使用了?
- 19. 試圖瞭解一些Java概念
- 20. 從概念上講,應該如何在OOP中構造?
- 21. 如何在Spring中應用MVC概念(非web應用程序)
- 22. 使用哪個ViewController概念?
- 23. rapidminer一些概念
- 24. JOIN /在哪裏概念
- 25. 爲什麼要使用OOP概念? OOP的用法是什麼?
- 26. Rails:瞭解概念
- 27. 瞭解SurfaceHolder概念
- 28. 爲重複測試創建可重用的基礎架構 - 我錯過了哪些OOP概念?
- 29. 瞭解Java中的概念
- 30. 關於OAuth,SAML,微服務,您應該瞭解哪些基本概念?
是不是MVC獨立於OOP?我敢肯定,如果你願意,所有的OOP概念都可以適用於MVC。 –