出版時間:2010年11月 出版社:機械工業(yè)出版社 作者:Erik M. Buck,Donald A. Yacktman 頁數:336 譯者:陳宗斌,孔祥波
Tag標簽:無
前言
Apple的Cocoa軟件所包含的多數技術從1988年開始就已經投入商業(yè)應用,雖然Cocoa可能不夠完善,但仍然具有革命性意義。它已在市場上得到廣泛應用,如NEXTSTEP、OPENSTEP、Rhapsody和Yellow Box等都應用了該技術。Cocoa由一系列可重用的軟件框架組成,包含用于構建Mac OS X桌面和手機應用程序的對象和相關資源。近年來,Apple對Cocoa進行了顯著的擴展并添加了新的軟件開發(fā)工具,從而在Cocoa已經提供的高水平性能的基礎上進一步提高了程序員的效率。很多程序員在第一次使用此框架時,面對寬泛和復雜的Cocoa通常會不知所措。Cocoa包含大量的功能部件,但在一致性方面表現卻十分出色,這要歸功于在Cocoa的設計中應用了模式。了解這些模式才能更有效地使用框架,并在編寫自己的應用程序時作為指導。本書介紹了Cocoa框架中用到的面向對象的設計模式。設計模式不是Cocoa的專利,它在很多可重用的軟件庫和軟件開發(fā)環(huán)境中均有所應用。設計模式能識別那些重復出現的軟件問題和解決它們的最佳做法。本書的主要目的是提供有關設計的專業(yè)知識和Cocoa的基本原理,掌握了這些知識,你就可以在自己的軟件中高效地重用那些可靠的正確模式,即使你用的并非Cocoa。
內容概要
對于cocoa框架的龐大和復雜,mac和iphone開發(fā)者常常不知所措。雖然cocoa看起來很龐大,但是一旦理解了它所使用的面向對象的模式,你就會發(fā)現它極其出色,也非常簡單可靠。 本書首先介紹了所有模式的起源,即“模型—視圖—控制”模式,它是所有mac和iphone開發(fā)的核心,因此從一開始就牢固掌握它非常重要。 本書列出了將在cocoa中用到的主要設計模式,包括: 基礎模式,如枚舉器、訪問器和兩階段創(chuàng)建; 增強模式,如單例模式、委托模式和響應鏈; 隱藏復雜性的模式,如程序包、類集群、代理和轉發(fā),以及控制器。 這些還不是全部!本書精心列出了28種設計模式,并包含一些依然有效的示例代碼。本書還講解了core data模型、appkit視圖,以及綁定和控制器。 本書利用objective-c和cocoa框架的基礎,清晰地定義了每種模式能解決的問題,所有mac和iphone開發(fā)者都應該學習。
作者簡介
Erik M. Buck于1993年成立了EMB & Associates公司,并且通過利用后來成為Apple的Cocoa框架的NeXT/Apple軟件技術,把公司建設成太空和娛樂軟件業(yè)中的領導者。Buck先生的工作還涉及建筑業(yè)、給8中級學生講授科學、展覽油畫肖像,以及開發(fā)可替代燃料汽車。Buck先生在2002年出售了
書籍目錄
譯者序 序 前言 作者簡介 第一部分 一種可控制一切的模式 第1章 模型-視圖-控制器 1.1 cocoa中的mvc 1.2 小結 第2章 分析和應用mvc 2.1 非mvc設計 2.2 mvc設計 2.3 小結第二部分 基礎模式 第3章 兩階段創(chuàng)建 3.1 動機 3.2 解決方案 3.3 cocoa中的示例 3.4 后果 第4章 模板方法 4.1 動機 4.2 解決方案 4.3 cocoa中的示例 4.4 后果 第5章 動態(tài)創(chuàng)建 5.1 動機 5.2 解決方案 5.3 cocoa中的示例 5.4 后果 第6章 類別 6.1 動機 6.2 解決方案 6.3 cocoa中的示例 6.4 后果 第7章 匿名類型和異類容器 7.1 動機 7.2 解決方案 7.3 cocoa中的示例 7.4 后果 第8章 枚舉器 8.1 動機 8.2 解決方案 8.3 cocoa中的示例 8.4 后果 第9章 執(zhí)行選擇器和延遲執(zhí)行 9.1 動機 9.2 解決方案 9.3 cocoa中的示例 9.4 后果 第10章 訪問器 10.1 動機 10.2 解決方案 10.3 cocoa中的示例 10.4 后果 第11章 歸檔和解檔 11.1 動機 11.2 解決方案 11.3 cocoa中的示例 11.4 后果 第12章 復制第三部分 主要通過解耦來變得更強大的模式 第13章 單例 第14章 通知 第15章 委托 第16章 層次結構 第17章 插座變量、目標和動作 第18章 響應者鏈 第19章 聯(lián)合存儲 第20章 調用 第21章 原型 第22章 享元 第23章 裝飾器第四部分 主要用于隱藏復雜性的模式 第24章 包 第25章 類簇 第26章 外觀 第27章 代理和轉發(fā) 第28章 管理者 第29章 控制器第五部分 模式應用的實用工具 第30章 核心數據模型 第31章 應用程序工具箱視圖 第32章 綁定和控制器 附錄 資源
章節(jié)摘錄
插圖:第一部分一種可控制一切的模式第1章模型-視圖-控制器模型-視圖-控制器(MVC)是世界上最古老、最成功的可復用軟件設計模式之一。它最初出現在20世紀70年代的Smalltalk編程語言中。MVC定義了Cocoa框架的總體結構。它是一種高級別的模式,能將多個協(xié)作對象的大型群組劃分為獨立的子系統(tǒng):模型、視圖和控制器。分析通用應用程序的功能和行為,有助于理解子系統(tǒng)在MVC模式中擔當的角色。多數應用程序存儲信息、檢索信息,并將信息呈現給用戶,使用戶能夠編輯或操縱信息。在面向對象的應用程序中,信息不只是字節(jié),對象會將信息與使用該信息的方法封裝在一起。應用程序中的每個對象都應該符合且僅符合以下子系統(tǒng)之一:·模型。模型子系統(tǒng)由為應用程序提供獨特功能和信息存儲的對象組成。模型包含處理應用程序數據的所有規(guī)則。模型是使應用程序體現其價值的關鍵子系統(tǒng)。保證模型子系統(tǒng)的獨立而不依賴于視圖或者控制器子系統(tǒng)非常關鍵?!ひ晥D。視圖子系統(tǒng)用于展示從模型中收集的信息,并為用戶提供與此信息交互的方式。理解視圖的關鍵是要知道總是有大量視圖存在。例如,可能有圖形用戶界面視圖、打印報表視圖、命令行視圖、基于Web的視圖以及腳本語言視圖,它們都與同一個模型交互?!た刂破鳌?刂破鞯哪康氖墙獬P秃鸵晥D之間的耦合。用戶與視圖交互的結果是向控制器子系統(tǒng)發(fā)出請求,還可能會進一步請求改變模型中的信息??刂破鬟€要處理數據的轉換和格式,以呈現給用戶。例如,模型中可能以米存儲數據,但根據用戶的偏好,控制器可能要將數據轉換為英尺。模型可能將對象存儲在無序集合中,但控制器可能會先為這些對象排序,然后再轉到視圖中展示給用戶。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載