在實戰中成長:C++開發之路

在實戰中成長:C++開發之路

在實戰中成長:服務端,第四篇實現了客戶端。

圖書信息

作 者:

鍾岱暉
出 版 社: 電子工業出版社
出版時間: 2009-6-1
頁 數:404頁
開 本: 16
ISBN:9787121083310
定價: 17.00元

宣傳語

從項目實戰中學習理論,邊做邊學。
從企業項目中精簡,切合實際。
項目從簡單的雛形逐步商業化,循序漸進。

內 容 簡 介

本書目的旨在為C++初學者搭建一個通向程式設計師的橋樑,通過實際的項目擺脫純知識點練習的枯燥乏味。並期望在項目的開發過程中讀者能感悟到成功的軟體,其開發過程不是簡單的編寫代碼實現功能。
在最初的幾章里介紹了要完成書中項目必須掌握的知識點,包括對開發環境的認識、MFC、UML。接下來的章節中採用了一個循序漸進的過程,通過一個簡單的小項目開始,旨在幫助讀者熟悉項目開發過程中涉及的各項工作,並指出一些讀者應該掌握的知識點。完成這個小項目後,讀者應該具備了一定的動手能力,可以進入正式的實戰項目的開發,筆者通過圖形的方式幫助讀者理解項目中的功能需求,並引領讀者分析項目並實現功能,最終完成一個企業即時通信系統的一個商業版框架。書的最後一個章節,筆者列舉了作為商業版的軟體應該完成的功能列表,希望幫助讀者真正地理解商業化的含義。

叢 書 序

前幾天,應青軟實訓技術研發中心老師的邀請為青軟實訓《在實戰中成長》叢書寫序,讓我想起了三年前的這個時候。當時,為了更好地解決大學生的動手實踐能力與企業需求之間存在差距的問題,在相關政府、高校、軟體企業等各方的協助及大力支持下,成立了青軟實訓。
現在,從青軟實訓走出的學員遍布了北京、上海、大連、青島等全國各地的軟體企業,我和我的同仁在體會到快樂的同時,也感受到了深深的責任感。我們發現,雖然學員在實訓中學習的時間只有短短的幾個月,但我們帶給學員的技術課程、對學員進行的綜合素養的訓練、與學員的溝通交流以及指導學員完成的項目等都有會對他們今後的職業發展產生影響。
正是基於這樣的責任感,才讓我們不斷地思考,通過什麼樣的方式才能讓作為初學者的學員學好軟體開發技術。青軟實訓的講師都是擁有多年企業級項目開發經驗的項目經理及技術專家,在我們日常的討論及交流中,大家普遍有一個共識,軟體技術還是應該在實戰中學習、在項目中學習。我們也確實將這樣的教學理念運用到了實訓的課程設計及教學實踐中。
現在大家面前的這一套《在實戰中成長》叢書,正是這一教學理念及實踐經驗的積累及系統體現。這套叢書的編寫思路是以實戰項目的開發為主線,將項目的開發過程與相關開發技術的講解有機融合,使得讀者在完成項目開發的同時學習相關的開發技術,真正地做到在實戰中成長。第一批出版的本套叢書共包含三本:
《在實戰中成長——C++開發之路》
《在實戰中成長——JSP開發之路
《在實戰中成長——Windows Forms開發之路》
我們希望通過這套叢書幫助軟體開發技術的初學者以一種更加高效、直接以及富有成就感的方式學習軟體開發技術,同時也希望通過這套叢書把青軟實訓總結出的一些好的做法分享給更多的人。
這套叢書的策劃及編寫是由青軟實訓技術研發中心的各位講師共同完成的,他們中的很多位老師都為這套叢書的出版付出了辛苦的勞動。特別是負責首批三本圖書編寫的鐘岱暉、高峰、於翔三位老師,他們是在完成大量教學工作的同時,保質保量地完成了圖書的編寫工作。在此,我也對他們所做的辛苦工作表示感謝。
同時,這套叢書的出版還得到了電子工業出版社的大力幫助及支持。我向在此過程中給予我們大力幫助及指導的李冰、江立及許艷等各位編輯表示感謝。
在這幾年實訓的過程中,我發現興趣和方法在軟體技術的學習過程中是非常重要的。對技術的興趣及良好的學習方法可以讓技術學習的過程充滿樂趣。希望青軟實訓《在實戰中成長》這套叢書帶給大家的也是充滿樂趣的閱讀體驗及學習過程。
青軟實訓CEO 劉全
2009年5月於青島
前 言

本書特點

本書目的旨在為C++初學者搭建一個通向程式設計師的橋樑,讓讀者通過實際的項目擺脫純知識點練習的枯燥乏味。
特點一,貼近實際套用。本書通過項目實戰的方式引領讀者步入軟體開發,從一個簡單的項目開始,逐步過渡到複雜的項目,最終形成一個商業化產品的雛形。
特點二,在實戰中學習。本書不僅僅是讓讀者學習C++的編碼,而是期望讀者能逐步掌握軟體開發的分析方法,理解軟體開發的構成元素。
特點三,從how到why。作為初學者一般都能很快地掌握一些語法和代碼技巧,但是在使用的時候卻經常出錯,雖然能找到一些解決方案,對於問題產生的根本原因依然不甚了解,導致此類問題依然不斷出現,或者要大量地記憶各種使用情況,對初學者的信心造成不小的影響。本書針對這點首先讓初學者明白如何使用,然後由淺入深地逐漸闡明為什麼要如此使用,希望能引導初學者走出語法學習的困境,真正地專注於事務邏輯的處理。
特點四,本書最後會幫助讀者完成一個完整的項目,其中穿插大量的軟體工程的內容,包括各種圖及分析表。筆者希望能幫助讀者由代碼實現逐步過渡到功能實現層面,為成為合格的程式設計師奠定基礎。

目 錄 知識準備

第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章 客戶端項目分析 202
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

相關詞條

相關搜尋

熱門詞條

聯絡我們