《Live軟體開發面面談》是2018年清華大學出版社出版的圖書,作者是潘俊。
基本介紹
- 中文名:Live軟體開發面面談
- 作者:潘俊
- ISBN:978-7-302-50156-5
- 類別:計算機與網際網路
- 頁數:306
- 定價:59
- 出版社:清華大學出版社
- 出版時間:2018年
- 開本:170*230
內容簡介,目錄,
內容簡介
開發一個典型的業務系統需要考慮多方面的問題。它是一個圖形用戶界面的程式,因而需要採用某種GUI框架開發界面;用戶在界面上的操作通過事件機制調用相應的處理程式;用戶界面、事件處理程式和體現需求的業務邏輯必須組成某種合理的結構,否則系統會隨著功能的增加迅速變得難以理解和維護;系統越大,組件越多,越需要適當地保持它們之間的依賴關係,合理地套用接口是關鍵;這個業務系統顯然比所有數據都來自即時輸入的計算器複雜,許多信息要往返於資料庫;最後,這是一個多用戶使用的系統,必須適應不同用戶的許可權需求。
《Live軟體開發面面談》針對以上普遍遇到的問題,逐個討論軟體開發實踐中的重要主題。第一章辨析對象間的依賴和針對接口編程。第二章討論事件驅動編程的方方面面。第三章分析MVC架構的思想和實現。第四章比較圖形用戶界面的一些相關或對立的思想和技術,並介紹極簡主義潮流。第五章分析熱門的文檔型資料庫,並和關係型資料庫做對比。第六章討論存取控制的各個環節,分析基於角色的和基於屬性的存取控制的優缺點。第七章介紹非一般快的Lotus Notes程式開發。第八章探討軟體的興衰和客戶端的潮流。
目錄
目錄
第1章接口
1.1使用接口編程
1.2依賴反轉原則
1.3如何實現
1.3.1工廠模式
1.3.2服務定位器模式
1.3.3依賴注入
1.4真的實現了嗎
1.4.1依賴的傳遞性
1.4.2依賴的形式
1.5真正實現
1.5.1配置檔案
1.5.2配置代碼
1.5.3慣例先於配置
1.5.4元數據
1.5.5實現消除依賴的方法的本質
1.6有必要針對接口編程嗎
1.6.1針對接口編程的成本
1.6.2接口的意義
1.6.3何時針對接口編程
第2章事件
2.1控制反轉
2.2觀察者模式
2.3Java中的事件編程
2.3.1通用的事件發布者和收聽者
2.3.2通用事件收聽者的問題
2.3.3Swing用戶界面里的事件編程
2.3.4專用事件收聽者的問題
2.3.5徹底地面向對象
2.3.6Java8帶來的福音
2.3.7這一切背後仍然是對象
2.4C#中的事件編程
2.4.1代理
2.4.2事件
2.5JavaScript中的事件編程
2.6事件編程的其他細節
2.6.1收聽者的執行順序
2.6.2收聽者是否在單獨的執行緒執行
2.6.3控制項層次中的事件傳播
第3章MVC
3.1輸入、處理和輸出
3.1.1馮·諾依曼架構
3.1.2矩陣運算器和IPO
3.1.3矩陣運算器和IPO的升級版
3.2程式與用戶的互動
3.2.1三類應用程式
3.2.2持續互動帶來的變化
3.2.3圖形用戶界面帶來的變化
3.3設計理念
3.3.1關注點分離
3.3.2模型
3.3.3模型和視圖的分離
3.3.4控制器
3.3.5模型視圖
3.3.6事件發布者與收聽者之間的依賴
3.3.7合作方式
3.4桌面應用程式與移動App
3.4.1控制器和視圖在代碼單元上獨立
3.4.2控制器、視圖和模型之間的相互引用
3.4.3控制器和視圖合一
3.4.4移動App
3.5Web應用程式
3.5.1Web應用程式簡史
3.5.2伺服器端的MVC
3.5.3前端控制器與控制器
3.5.4視圖
3.5.5模型
3.5.6依賴注入
3.5.7瀏覽器端的MVC
3.6類型轉換、校驗和數據綁定
3.7MVC的意義
第4章界面
4.1以用戶界面為中心VS以業務邏輯為中心
4.2設計視圖VS原始碼視圖
4.3自定義控制項VS複合控制項
4.4命令式語言VS聲明式語言
4.5內容與外觀的分離
4.6基於請求的框架VS基於組件的框架
4.7極簡主義
4.7.1用戶界面上的極簡主義
4.7.2刪減的對象
4.7.3方法和特徵
4.7.4防止過度
第5章資料庫
5.1多值與複合屬性
5.1.1關係型資料庫模式的第一範式和第二範式
5.1.2範式與複合、多值屬性
5.1.3關係型資料庫中的多值和複雜數據類型
5.2資料庫模式
5.3數據建模
5.3.1抽象的數據建模
5.3.2針對具體資料庫的建模
5.4視圖
5.4.1索引
5.4.2關係型資料庫中的視圖
5.4.3文檔型資料庫中的視圖
5.5可伸縮性
5.6可得性與BASE
5.7編程接口
5.8總結
第6章許可權
6.1身份驗證
6.1.1驗證類型
6.1.2驗證屬性
6.1.3知識要素驗證
6.2Web套用的驗證
6.2.1驗證與會話
6.2.2第三方身份驗證
6.3授權
6.4基於角色的存取控制
6.4.1用戶與許可權
6.4.2群組與角色
6.4.3許可權與操作
6.4.4實現
6.5基於屬性的存取控制
6.5.1資源與存取方式
6.5.2從許可權到屬性
第7章異類
7.1快速開發
7.2LotusNotes是什麼
7.3技術架構
7.3.1資料庫
7.3.2客戶端與伺服器
7.4應用程式開發
7.4.1兩種路徑
7.4.2用戶界面驅動的快速開發
7.4.3事件驅動編程
7.4.4直接使用文檔對象編程
7.4.5許可權模型
7.4.6角色和隱藏公式
7.4.7三類應用程式
7.4.8多種程式語言
7.5LotusNotes的衰亡及其教訓
7.5.1對用戶主觀體驗重視不夠
7.5.2快速開發的缺陷
7.5.3嵌入式開發的缺陷
7.5.4資料庫和應用程式合一
7.5.5創新乏力
7.6給現有LotusNotes客戶的建議
第8章興衰
8.1軟體的更新和生命
8.1.1兼容性
8.1.2兼容性與創新
8.2客戶端的興衰
8.2.1客戶端與伺服器
8.2.2遠程過程調用和數據傳輸協定
8.2.3客戶端的胖瘦趨勢
8.2.4客戶端與瀏覽器
8.2.5瀏覽器與App
8.2.6理想的客戶端應用程式
8.2.7開發人員體驗VS用戶體驗
8.3LotusNotes的歷史
8.3.1前身
8.3.2青少年:版本1~3
8.3.3中年:版本4~6
8.3.4老年:版本7~9
參考文獻