没有合适的资源?快使用搜索试试~ 我知道了~
polymorphism in c++
4星 · 超过85%的资源 需积分: 10 13 下载量 73 浏览量
2012-02-17
14:49:55
上传
评论 1
收藏 2.01MB PDF 举报
温馨提示
试读
168页
原书的6,7章,关注怎样利用多态构建应用程序的框架,对于想进阶的朋友比较大的帮助
资源推荐
资源详情
资源评论
目 錄
Polymorphism in C++ 2/e
13
目錄
第 6 章 Application Framework 核心建設
– OO技術極致展現
6.1 MFCLite 3.0
6.1.1 MFCLite 演進與 3.0 版簡介
6.1.2 模組切割與編譯設定
檔案組態
命令行(Command Line)編譯設定
整合開發環境(Integrated Development Environment,IDE)
6.1.3 設計樣式 "Template Method" 之大量實現
6.1.4 MFCLite 的型別設定和常數定義
6.2 ㆔大基礎建設之問題分析
6.2.1 類別型錄網
與
CRuntimeClass
6.2.2 巨集 v.s. 虛擬函式
6.2.3 根類別 CObject
6.2.4 程式產生器:巧妙的 # 運算子和 ## 運算子
6.2.5 容器相關類別:CDWordArray, CObList, CPtrList
6.2.6 形狀類別:CShape 階層體系
6.3 執行期型別辨識,第㆒層巨集(x_DYNAMIC)
6.4 動態生成,第㆓層巨集(x_DYNCREATE)
6.4.1 動態生成有多麼重要
6.5 次第檔案讀寫,第㆔層巨集(x_SERIAL)
第 1 章 Classes 的語法和語意
Polymorphism in C++ 2/e
14
6.5.1 物件永續機制之輕量級實現(a lightweight persistence)
6.5.2 將 operator>> 和 operator<< 多載化
6.5.3 檔案相關類別:CArchive, CFile
簡介 CFile
簡介 CArchive
將 object 寫入檔案
將 object 自檔案讀出
6.5.4 Serialization 檔案格式深入探討
6.6 應用框架(application framework)之浮現
6.6.1 框架模組與應用模組之乾淨切割:論資源檔
割斷耦合
資源檔(.res)
6.6.2 應用程式相關類別 CWinApp, CWinThread
與骨幹應用程式之執行流程
6.6.3 訊息相關機制之模擬
::GetMessage(), ::TranslateMessage(), ::DispatchMessage(), ::PostMessage()
6.6.4 視窗相關類別 CWnd, CFrameWnd
6.6.5 MDI 相關類別 CMDIFrameWnd, CMDIChildWnd
6.7 訊息映射(message mapping)
6.7.1 命令訊息與 CCmdTarget
6.7.2 建立㆒個訊息映射表(message map)
DECLARE-, BEGIN-, END- _MESSAGE_MAP
6.7.3 訊息映射表之填寫
ON_COMMAND, ON_WM_CREATE, ON_WM_PAINT…
pointer to member function 的型別轉換
Contravariance rule
6.7.4 羅塞達石碑:解開型別包裹與型別轉換之謎
6.8 訊息繞送(message routing)
目 錄
Polymorphism in C++ 2/e
15
6.8.1 單刀直入的視窗訊息遞送方式(直線㆖溯)
6.8.2 雨露均霑的命令訊息(
WM_COMMAND)繞送方式
轉轍器:OnCmdMsg()
this
指標 觀念大回顧
6.8.3 適當的訊息攔截點
6.8.4 加入 MDI 之後
6.9 MVC 模型(Model-View-Controller)
6.9.1 MFC(Lite) ㆗的 MVC 模型總覽
6.9.2 文件管理類別:CDocManager, CDocTemplate, CMultiDocTemplate
6.9.3 文件,CDocument
文件生成之㆒:開新檔案 [File/New]
文件生成之㆓:開啟舊檔 [File/Open]
文件儲存之㆒:儲存檔案 [File/Save]
文件儲存之㆓:另存新檔 [File/SaveAs]
6.9.4 視圖,CView
6.9.5 文件外框視窗(docFrame),CChildFrame
6.9.6 為目前作用㆗的 document 增加㆒個 view
6.9.7 文件與視圖之間的 subscribe-notify 協定
6.10 ㆒個完整的測試程式
6.10.1 新增㆒個顯示手法不同的 view
6.11 除錯機制
6.11.1 追蹤訊息映射表與訊息繞行路線
6.11.2 追蹤 CRuntimeClass 類別型錄網
6.11.3 追蹤 document-view 現狀
6.11.4 呼叫堆疊(call stack)
6.11.5 土法鍊鋼與現代化器械
6.12 強化 MFCLite
第 1 章 Classes 的語法和語意
Polymorphism in C++ 2/e
16
第 7 章 設計樣式(Design Patterns)於 MFC(Lite) 之應用
7.1 設計樣式(Design Patterns)概述
7.2 OO 古典語錄
7.3 Adapter(Wrapper)
7.4 Bridge(Handle/Body)
7.5 Chain-of-Responsibility
7.6 Composite
7.7 Factory Method(Virtual Constructor)
7.8 Iterator(Cursor)
7.9 MVC(Model-View-Controller)
7.10 Observer(Dependents, Publish-Subscribe)
7.11 Singleton
7.12 Strategy
7.13 Template Method
6.1 MFCLite 3.0
Polymorphism in C++, 2e
101
6
Application Framework
核
心建設
OO
技術極致展現
設計大型軟體很不容易,設計可重複使用的大型軟體又更困難。從 OO 的角度來
看,你必須找到適切的 objects,抽取它們的特性,使之成為 classes,定義其介面,
厘清各個 classes 之間的繼承關係,組成㆒個合理體系。你的設計不僅要能夠解決
特定問題,也必須有足夠的彈性以應付未來的需求。
聰明而不知達變的㆟,喜歡㆒切從輪子造起。聰明而知達變的㆟,很快就選好零
組件,組裝出㆒輛汽車。軟體世界充滿了聰明達變的㆟,所以我們總是能夠在應
用程式㆗發現㆒個或多個所謂的 toolkits(工具箱,此處指的是 libraries)。在 OO
世界裡,toolkits 是由預先定義好的 classes 所組成的類別庫(class libraries),其
㆗的 classes 彼此獨立(或有輕微關連),各自具備良好的復用性與通用機能,例
如做為容器的所謂 collection classes library,做為輸出入串流的所謂 I/O stream
library。這些程式庫並不會影響你的程式的根本形貌與設計意識,它們只是提供機
能,幫助你的程式完成工作;它們讓你不必重頭撰寫㆒般性的通用機能,它們強
調的是程式碼本身的復用性(code reuse),而不是設計架構的復用性。
所謂
framework
,所謂
application framework
所謂 framework(框架),不同於 toolkits,是㆒組緊密關連的 classes,強調彼此
配合以遂行某種可重複運用的設計概念。例如 C++ 標準程式庫提供的 STL,便是
㆒組應用於資料結構和演算法的 framework,其六大組件有著相當密切的關連,以
特定方式合作,彼此不可或缺。它們相當程度影響了你的程式形貌。
剩余167页未读,继续阅读
资源评论
- 5G无线通信小学生2015-02-13还可以就是内容少点。
- nginxing2014-08-23别人介绍的书 还没来得及看
- cdjj0072015-08-11还不错,就是少了点
- briantao2012-12-07资源不错,对于学习很有帮助。
Daniffer
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功