1. 程式人生 > >構建一款App之使用設計模式

構建一款App之使用設計模式

MVC Model-View-Controller (MVC) 對iOS app極為重要。 MVC把app中的物件指定為model、view以及controller三者之一。在該模式中,Model跟蹤app的資料,View展示使用者介面並構成了app的內容,Controller管理著你的views。 通過響應使用者操作和使用內容填充檢視,Controller充當了Model和View之間溝通的通道。你已經開始設計你的ToDoList app,那麼你已經遵從了以MVC為中心的設計。你在storyboards中建立的介面組成了檢視層。 XYZAddToDoItemViewController和XYZToDoListViewController是管理檢視的控制器。在Tutorial: Add Data中,you’ll be incorporating a data model to work with the views and controllers in your app. 當你開始設計app時,以MVC為中心進行設計非常重要。 Target-Action
從概念上講,Target-Action是一個簡單的設計模式。當某個特定的事件發生時,一個物件可以在該設計模式中向另一個物件傳送訊息。 action資訊是一個在原始碼中定義的選擇器,target--接受資訊物件--是一個有能力執行action的物件,典型代表是view controller。傳送行為資訊的物件通常是一個控制元件--比如按鈕、滑塊兒或者開關--可觸發事件以響應使用者與介面的互動--比如點選、拖動、或者值變動。 比如,假定你想要恢復app預設設定,無論何時使用者點選Restore Defaul按鈕(你在使用者介面中建立的)。首先,你要實現一個action,restoreDefaults:,來執行恢復預設設定的邏輯。其次,你要登記按鈕的Touch Up Inside事件以傳送restoreDefaults:行為方法給執行該方法的view controller。
你已經在ToDoList app中使用了target-action模式。當用戶在XYZAddToDoItemViewController中點選“Done”按鈕,它會觸發unwindToList:行為。這種情況下,“Done”按鈕就是傳送資訊的物件,目標物件是XYZToDoListViewController,行為資訊是unwindToList:,觸發行為資訊被髮送的事件是使用者點選按鈕 。Target-action是一個在app不同部分之間定義互動和傳送資訊的強大機制。 Delegation Delegation是一個簡單但強大的設計模式,app中的物件可以在通過它代理其他物件,或者與其他物件協調。委託物件保持對其他物件的引用--delegate--在適當的時間給它傳送一條資訊。訊息通知委託--委託物件將處理或者已經處理的事件。Delegate可以通過更新自身外觀/狀態或者app中的其他物件來響應資訊。某些情況下它會返回一個影響如何處理即將發生事件的值。
現有的框架類多是Delegate模式,但你也可以在app中的兩個自定義物件間執行委託。一般設計把delegation作為一個子檢視控制器與其父檢視控制器傳遞值的方法。 你還沒有使用過delegation,但在Tutorial: Add Data中,當你為XYZToDoListViewController類新增附加行為時會看到它的一個示例。 以上這些是你在iOS開發過程中最常見的幾個設計模式,但是還有很多其他設計模式。隨著逐步深入學習Objective-C,你會發現其他可以應用到app中的設計模式。

相關推薦

構建App使用設計模式

MVC Model-View-Controller (MVC) 對iOS app極為重要。 MVC把app中的物件指定為model、view以及controller三者之一。在該模式中,Model跟蹤app的資料,View展示使用者介面並構成了app的內容,Controller管理著你的views。

從今天開始學習iOS開發(iOS 7版)--構建AppApp開發過程

定義概念每款偉大的app都始於一個概念。直達概念最有效的方法是思考你想通過app解決什麼問題。偉大的app只解決一個定義明確的問題。比如設定應用程式允許使用者調整裝置上所有的設定,它為使用者提供了單個介面來完成相關的設定任務。 以下直達概念需要考慮的一些關鍵問題: 1.你的使用者是誰?應用程式的概念和體驗將會

從零開始設計APP如何做原型圖

@Sophia的玲瓏閣 :這個系列的文章把整個設計過程的經驗總結成文,逐點分享,上期是概述+立項,這期聊聊低保真和高保真原型圖的作用、處理工具和檔案要求等。 Low-fi,即低保真原型圖,整個APP設計階段,設計師真正開始上手的環節。待PM製作好PRD文件和邏輯流程圖之後,

果斷收藏:APP設計稿到切圖過程全方位揭祕

9月17日凌晨,IOS9正式推送,它使用的字型最終還是變了,我下面寫的內容你們也要酌情更新,因為我寫的實在趕不上它更新的速度了 iOS9使用的西文字型由Helvetica Neue變更為 San Francisco, iOS9中文字型由此前的黑體-簡變更為蘋方黑體

APP設計稿到切圖過程全方位揭祕(IOS版)

9月17日凌晨,IOS9正式推送,它使用的字型最終還是變了,我下面寫的內容你們也要酌情更新,因為我寫的實在趕不上它更新的速度了 iOS9使用的西文字型由Helvetica Neue變更為 San Francisco, iOS9中文字型由此前的黑體-簡變更

APP的開發設計是如何從0到1設計

容易 學習 nbsp 過程 很快 idt 工具 strong fail 目前在行業裏,關於APP界面設計規範也是層次不齊,很多都還停留在6的設備和ios 9的系統之上,而現在最新的是iphone 7和iOS 10了(更新換代真的很快),我這裏說的是最新的iOS 界面設計

android深入設計模式)托付模式

-h listen back != new 聚合 string static data- (一)托付模式簡單介紹 托付模式是主要的設計模式之中的一個。托付。即是讓還有一個對象幫你做事情。 更多的模式,如狀態模式、策略模式、訪問者模式本質上是在更特殊的場合採用了托

天學習一個設計模式原型模式

拷貝 pre des prot transient ret 哈哈 his 耗時 原型模式(Prototype),用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。   原型模式其實就是從一個對象再創建另外一個可定制的對象,而且不需要知道任何創建的細節。例

天學習一個設計模式責任鏈模式

null public 接收 req sta and new get main 1 責任鏈模式(chain of Responsibility):使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合關系。將這個對象連成一條鏈,並沿著這條鏈傳遞請求,直到有一個

天學習一個設計模式叠代器模式

getc 設計 count() 內部表 數據 繼承 static clas span 叠代器模式(Iterator),提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示。 當需要訪問一個聚集對象,而且不管這些對象是什麽都需要遍歷的時候,就應該考慮用

設計模式學習設計模式六原則(

設計模式是一個程式設計師必備的知識,學習設計模式之前,先了解一下設計模式的六大原則,通俗易懂的講解。 設計模式之總則: 開閉原則,對擴充套件開放,對修改關閉。就好比一臺電腦,你需要插拔u盤,鍵盤,滑鼠是很方便,但是你想去修改電腦內的硬體是很困難的。這樣做的好處在於提高電腦的可擴充套件,可維護

程式設計策略(設計APP的步驟)

偉大的程式起源於一個偉大的想法,但這並不意味著講想法孕育成成功的程式是一件輕鬆的事。本文介紹的是一些能用於精煉想法、回顧設計選擇(design options)的策略,幫助我們設計出人見人愛的程式。 明確程式定義 在開發早期就完成程式的定義,能

APP,從設計稿到切圖(Android篇)

依舊宣告:這裡寫的依舊只是某一種工作方法,而不是一種規範,你可以參考,但不要照搬,在具體工作中,一定要靈活運用。 彙總貼,整理了之前零散的關於Android的文章……這裡我把Android的開發文件,字型,以及不同設計尺寸的文件圖片上傳了,喜歡的下載;切圖的工具在IOS的帖子裡,喜歡可以去那下載,這裡就不

設計模式學習設計模式原則():單一職責原則和里氏替換原則

學習設計模式,以《設計模式之禪》為藍本進行總結與學習,今天先記錄設計模式六大原則的兩個原則:單一職責原則(SRP)和里氏替換原則(LSP)。 單一職責原則 Single Responsibilit

設計師怎樣從零開始設計APP

作為設計師最大的成就感,是著手一個專案,看著它從0到1,慢慢孵化成形,再接著改版進行優化,受到越來越多的使用者歡迎。這個系列的文章把整個過程的經驗總結成文,篇幅較長,逐點分享,今天是概述+立項。 從上圖可以知道,在整個過程中,設計師的工作可以分為做人和做事兩大類。 學會做人

從零開發APP 三、Java Web後端登陸介面的設計

一、邏輯設計: 在設計好並做完註冊介面後,我們就需要做登陸介面了,其實登陸介面非常的簡單,去資料庫中驗證其使用者名稱和密碼(當然,傳輸的資料要進行加密,我們會在後面統一加密方法),如果正確,那麼要傳回其相應的token,使用者得到其token之後,以後就可以使用這個tok

[架構美]APP從"想法-開發-上線-產品"的全過程

前言 如果沒有做過開發,研發過產品的人,很難體會做產品的艱難,剛進公司的人,一般充當的是程式開發,我這裡說的是開發,它與研發是有區別的. 一個需求下來,如果不能很好地理解產品需求,如果不能很好的駕馭需求實現的邏輯,肆意的根據理解去做技術方面的架構和編碼,等到

軟體開發設計模式()

一直都在說設計模式,設計模式,但是它究竟是什麼東西,我一直都是雲裡霧裡,具體他有什麼好處,有什麼特點卻說不明白,更別提用了,所有抽時間研究一下 一,單例設計模式 最常用,最容易理解的一種模式 他的特點是:確保一個類只有一個例項,而且自行例項化並向整個系統提

深入理解javascript設計模式

rip 是我 解決問題 不想 接受 button move center 常識 設計模式 設計模式是命名、抽象和識別對可重用的面向對象設計實用的的通用設計結構。設計模式確定類和他們的實體、他們的角色和協作、還有他們的責任分配。 每個設計模式都聚焦於一個面向對象的設計難題

系統開發設計模式

系統開發 系統設計 設計模式 系統設計模式Control plane和data plane別離這兩個概念簡直是networks 101的入門概念。Juniper上世紀末興起的主要原因之一即是嚴厲區別界定control plane和data plane,然後用ASIC完結data plane。Data plan