基本介紹
簡介,編輯推薦,叢 書 序,本書特點,特點一,貼近實際套用,特點二,在實戰中學習,特點三,從how到why,特點四,幫助完成項目,書籍結構以及知識點,適用範圍,目 錄 知識準備,第1章 Visual Studio 2008,第2章 使用Visual C++ 2008,第3章 MFC,目錄 從簡單的程式開始,第5章 檔案管理器,第6章 配置參數,第7章 在項目中學習,目錄 即時通信系統——服務端,第8章 項目概述,第9章 必備知識點,第10章 服務端項目分析,第11章 構建資料庫,第12章 伺服器框架搭建,第13章 系統登錄,第14章 服務端管理,第15章 服務管理,目錄 即時通信系統——客戶端,第16章 客戶端項目分析,第17章 搭建客戶端框架,第18章 系統登錄,第19章 載入系統主界面,第20章 配置、聊天及檔案傳輸,第21章 企業即時通信的商業擴展,第22章 C++/CLI,
簡介
作 者:青軟實訓組編 於翔編著
出 版 社: 電子工業出版社
出版時間: 2009-6-1
頁 數:412頁
開 本: 16開
ISBN:9787121083327
定價: 52.00元
編輯推薦
從項目實戰中學習理論,邊做邊學。
從企業項目中精簡,切合實際。
項目從簡單的雛形逐步商業化,循序漸進。
叢 書 序
前幾天,應青軟實訓技術研發中心老師的邀請為青軟實訓《在實戰中成長》叢書寫序,讓我想起了三年前的這個時候。當時,為了更好地解決大學生的動手實踐能力與企業需求之間存在差距的問題,在相關政府、高校、軟體企業等各方的協助及大力支持下,成立了青軟實訓。
現在,從青軟實訓走出的學員遍布了北京、上海、大連、青島等全國各地的軟體企業,我和我的同仁在體會到快樂的同時,也感受到了深深的責任感。我們發現,雖然學員在實訓中學習的時間只有短短的幾個月,但我們帶給學員的技術課程、對學員進行的綜合素養的訓練、與學員的溝通交流以及指導學員完成的項目等都有會對他們今後的職業發展產生影響。
正是基於這樣的責任感,才讓我們不斷地思考,通過什麼樣的方式才能讓作為初學者的學員學好軟體開發技術。青軟實訓的講師都是擁有多年企業級項目開發經驗的項目經理及技術專家,在我們日常的討論及交流中,大家普遍有一個共識,軟體技術還是應該在實戰中學習、在項目中學習。我們也確實將這樣的教學理念運用到了實訓的課程設計及教學實踐中。
現在大家面前的這一套《在實戰中成長》叢書,正是這一教學理念及實踐經驗的積累及系統體現。這套叢書的編寫思路是以實戰項目的開發為主線,將項目的開發過程與相關開發技術的講解有機融合,使得讀者在完成項目開發的同時學習相關的開發技術,真正地做到在實戰中成長。第一批出版的本套叢書共包含三本:
《在實戰中成長——C++開發之路》
《在實戰中成長——JSP開發之路》
《在實戰中成長——Windows Forms開發之路》
我們希望通過這套叢書幫助軟體開發技術的初學者以一種更加高效、直接以及富有成就感的方式學習軟體開發技術,同時也希望通過這套叢書把青軟實訓總結出的一些好的做法分享給更多的人。
這套叢書的策劃及編寫是由青軟實訓技術研發中心的各位講師共同完成的,他們中的很多位老師都為這套叢書的出版付出了辛苦的勞動。特別是負責首批三本圖書編寫的鐘岱暉、高峰、於翔三位老師,他們是在完成大量教學工作的同時,保質保量地完成了圖書的編寫工作。在此,我也對他們所做的辛苦工作表示感謝。
同時,這套叢書的出版還得到了電子工業出版社的大力幫助及支持。我向在此過程中給予我們大力幫助及指導的李冰、江立及許艷等各位編輯表示感謝。
在這幾年實訓的過程中,我發現興趣和方法在軟體技術的學習過程中是非常重要的。對技術的興趣及良好的學習方法可以讓技術學習的過程充滿樂趣。希望青軟實訓《在實戰中成長》這套叢書帶給大家的也是充滿樂趣的閱讀體驗及學習過程。
青軟實訓CEO 劉全
2009年5月於青島
本書特點
本書目的旨在為C++初學者搭建一個通向程式設計師的橋樑,讓讀者通過實際的項目擺脫純知識點練習的枯燥乏味。
特點一,貼近實際套用
本書通過項目實戰的方式引領讀者步入軟體開發,從一個簡單的項目開始,逐步過渡到複雜的項目,最終形成一個商業化產品的雛形。
特點二,在實戰中學習
本書不僅僅是讓讀者學習C++的編碼,而是期望讀者能逐步掌握軟體開發的分析方法,理解軟體開發的構成元素。
特點三,從how到why
作為初學者一般都能很快地掌握一些語法和代碼技巧,但是在使用的時候卻經常出錯,雖然能找到一些解決方案,對於問題產生的根本原因依然不甚了解,導致此類問題依然不斷出現,或者要大量地記憶各種使用情況,對初學者的信心造成不小的影響。本書針對這點首先讓初學者明白如何使用,然後由淺入深地逐漸闡明為什麼要如此使用,希望能引導初學者走出語法學習的困境,真正地專注於事務邏輯的處理。
特點四,幫助完成項目
本書最後會幫助讀者完成一個完整的項目,其中穿插大量的軟體工程的內容,包括各種圖及分析表。筆者希望能幫助讀者由代碼實現逐步過渡到功能實現層面,為成為合格的程式設計師奠定基礎。
書籍結構以及知識點
本書分為四篇。
第一篇是基礎篇,介紹了開發工具及開發所需掌握的一些基本知識。
第二篇用一個簡單的小程式引出C++編程中常用的幾個知識點。
第三篇開始引領讀者構建一個基於區域網路的C/S架構的企業技術通信系統。其中第三篇實現了服務端,
第四篇實現了客戶端。
項目名稱 項目介紹 涉及知識點
檔案管理器 查找用戶指定的檔案
根據用戶的需要對指定檔案進行分類管理 WinAPI: File Management
疊代函式
使用bit表示參數
字元與緩衝區
配置參數 保存應用程式中的各項配置參數 WinAPI: File Management
INI檔案
即時通信系統 建立基於區域網路的C/S架構的即時通信系統,包含Server端和Client端 應用程式通信協定
資料庫的設計
資料庫的操作
適用範圍
由於本書不會從對C++基礎進行系統化的描述開始,因此要求讀者有C++語言相關的基礎。至少應掌握C++的基礎語法,包括變數的聲明、定義方式以及語句編寫方式。
本書會涉及部分MFC的內容,因此希望初學者能對MFC有基本的認識。建議讀者同時在手邊準備如下書籍:《深入淺出MFC》、《Inside C++ Object Model》。
目 錄 知識準備
第1章 Visual Studio 2008
1.1 Visual Studio 2008簡介 2
1.1.1 簡介 2
1.1.2 版本介紹 3
1.2 Visual C++ 2008簡介 4
1.2.1 Visual C++ 2008版本 4
1.2.2 Visual C++ 2008項目模板 7
1.2.3 Visual C++ 2008中的新增功能 7
1.2.4 Visual C++ 2008中的重大變更 10
小結 10
第2章 使用Visual C++ 2008
2.1 簡介 11
2.2 項目和解決方案 11
2.2.1 使用項目和解決方案 11
2.2.2 使用解決方案資源管理器 12
2.2.3 添加源檔案 14
2.3 生成項目 14
2.4 測試項目 15
2.5 調試項目 16
2.6 部署程式 17
小結 18
第3章 MFC
3.1 什麼是MFC 19
3.2 為什麼選擇MFC 21
小結 21
第4章 UML 22
4.1 什麼是UML 22
4.2 UML包含的元素 22
4.3 在軟體開發的不同階段對應的UML 25
小結 25
目錄 從簡單的程式開始
第5章 檔案管理器
5.1 項目概述 28
5.2 知識點介紹 28
5.2.1 關於字元及編碼 28
5.2.2 字元串操作 31
5.2.3 檔案操作 32
5.2.4 對話框 33
5.3 項目分析 35
5.4 項目實現 35
5.4.1 搭建用戶界面 36
5.4.2 獲取系統檔案目錄結構 42
5.4.3 檔案過濾 50
5.4.4 檔案類別 51
5.4.5 檔案管理 57
小結 60
第6章 配置參數
6.1 模組概述 61
6.2 知識點介紹 61
6.3 模組分析 65
6.4 功能實現 66
6.5 項目整合 74
6.5.1 保存用戶自定義設定 74
6.5.2 讀取用戶自定義設定 76
小結 78
第7章 在項目中學習
7.1 幾種字元串類型 79
7.1.1 字元串類型的對比 79
7.1.2 使用CString類 83
7.2 字元串列表和字元串數組 89
7.2.1 字元串數組(CStringArray) 89
7.2.2 字元串列表(CStringList) 90
小結 92
目錄 即時通信系統——服務端
第8章 項目概述
8.1 項目背景 94
8.2 項目需求 96
8.3 項目拆分 97
小結 97
第9章 必備知識點
9.1 網路編程基礎 98
9.1.1 協定的概念 98
9.1.2 連線埠的概念 99
9.1.3 Socket編程 100
9.1.4 CSocket簡介 104
9.2 資料庫基礎 107
9.3 多執行緒處理 109
9.3.1 執行緒的概念 109
9.3.2 多執行緒的使用方式 109
9.3.3 執行緒的同步 111
9.3.4 執行緒的同步類 113
小結 122
第10章 服務端項目分析
10.1 整體分析 123
10.2 活動分析 126
小結 128
第11章 構建資料庫
11.1 用戶信息數據表 129
11.2 用戶信息數據關係 130
11.3 輔助信息數據表 131
小結 132
第12章 伺服器框架搭建
12.1 建立解決方案 133
12.2 配置資料庫 134
12.3 搭建系統主界面 135
小結 136
第13章 系統登錄
13.1 用戶界面及相關處理 137
13.2 後台處理 139
小結 145
第14章 服務端管理
14.1 服務端系統設定 146
14.2 用戶信息管理 151
14.3 公告管理 174
小結 185
第15章 服務管理
15.1 實現通信模組 186
15.2 實現協定解析模組 190
15.3 控制服務的啟動與關閉 194
小結 199
目錄 即時通信系統——客戶端
第16章 客戶端項目分析
16.1 整體分析 202
16.2 活動分析 205
小結 208
第17章 搭建客戶端框架
17.1 建立解決方案 209
17.2 添加數據傳輸類 210
17.3 建立應用程式通信協定 210
17.4 數據分發與封裝處理 217
小結 223
第18章 系統登錄
18.1 建立登錄界面 224
18.2 增加連線參數設定 225
18.3 增加登錄驗證 225
18.4 增加服務端驗證處理 230
18.5 連線參數配置 233
小結 235
第19章 載入系統主界面
19.1 建立系統主界面及所需的載入頁 236
19.2 建立載入頁與主對話框的關聯 239
19.3 載入客戶端初始化信息 242
19.3.1 載入用戶信息 242
19.3.2 載入用戶列表 245
19.3.3 載入公告列表 254
19.4 顯示信息 258
19.4.1 組織信息 258
19.4.2 用戶信息 260
19.4.3 公告信息 262
小結 266
第20章 配置、聊天及檔案傳輸
20.1 個性化參數配置 267
20.2 聊天處理 271
20.3 檔案傳輸處理 278
小結 291
第21章 企業即時通信的商業擴展
21.1 即時通信模組 292
21.2 視頻會議模組 293
21.3 用戶定義模組 293
21.4 系統管理模組 293
21.5 後台管理模組 294
小結 295
第22章 C++/CLI
22.1 語言關鍵字 297
22.2 託管類型 298
22.2.1 聲明一個託管類類型 298
22.2.2 一個CLI的引用類對象的聲明 300
22.2.3 CLI數組的聲明 305
22.2.4 析構函式語義的變化 307
22.3 類或接口中的成員聲明 311
22.3.1 屬性聲明 311
22.3.2 屬性索引聲明 313
22.3.3 委託和事件 315
22.3.4 密封一個虛函式 317
22.3.5 操作符重載 318
22.3.6 轉換操作符 319
22.3.7 接口成員的顯式重寫 320
22.3.8 私有虛函式 321
22.3.9 靜態常量整型的連線方式 322
22.4 值類型及其行為 322
22.4.1 CLI枚舉類型 323
22.4.2 隱式裝箱 326
22.4.3 裝箱值的跟蹤句柄 327
22.4.4 值類型語義 328
22.5 語言變化概要 332
22.5.1 字元串 332
22.5.2 參數數組和省略號 334
22.5.3 typeof改為T::typeid 335
22.5.4 強制轉換符號和safe_cast<>簡介 335
22.6 推動修訂版語言設計 339
小結 345
附錄A 幾種常用的網路通信模型 346
附錄B 資料庫設計 367
附錄C Microsoft Access 2007 378
附錄D Visual Studio 2010簡介 387