舉報

面向對象是怎樣工作的(第3版)
(日)平澤章 著
更新時間:2023-06-20 18:08:02
開會員,本書8折購 >
最新章節:
看完了
本書以圖配文的形式,直觀易懂地介紹了面向對象的全貌及其包含的各項技術,包括面向對象編程、框架、設計模式、UML、建模、面向對象設計和敏捷開發方法等。對于各項技術是如何使用的(How),書中只進行簡要的說明,而重點介紹這些技術是什么(What),以及為什么需要這些技術(Why)。另外,“編程往事”專欄介紹了作者年輕時的一些經歷;“對象的另一面”專欄以與正文不同的視角講解面向對象這一概念普及的背景和原因,通俗有趣;“當今的OOP”專欄介紹了Java、Python、Ruby、JavaScript等當今流行的編程語言的新動向。
- 看完了 更新時間:2023-06-20 18:08:02
- 致謝
- 后記
- 深入學習的參考書
- A.15 掌握函數式編程
- A.14 函數式語言和面向對象的關系
- A.13 函數式語言的課題
- A.12 函數式語言的優勢
- A.11 函數式語言的分類
- A.10 對7個特征的總結
- A.9 特征7:編譯器自動進行類型推斷
- A.8 特征6:使用模式匹配和遞歸來編寫循環處理
- A.7 特征5:沒有副作用
- A.6 特征4:可以靈活組合函數和參數
- A.5 特征3:將函數作為值進行處理
- A.4 特征2:所有表達式都返回值
- A.3 特征1:使用函數編寫程序
- A.2 函數式語言的7個特征
- A.1 面向對象編程語言和函數式語言混合占據主流的時代
- 附章 函數式語言是怎樣工作的
- 深入學習的參考書
- 12.5 享受需要動腦的軟件開發
- 12.4 將面向對象作為工具熟練掌握
- 12.3 面向對象的熱潮不會結束
- 12.2 時代追上了面向對象
- 12.1 面向對象這一強大概念是原動力
- 第12章 熟練掌握面向對象
- 深入學習的參考書
- 11.15 不存在最好的開發流程
- 11.14 敏捷開發源于面向對象
- 11.13 實踐敏捷宣言理念的方法
- 11.12 經常進行系統整合的持續集成
- 11.11 在程序完成后改善運行代碼的重構
- 11.10 先編寫測試代碼,一邊運行一邊開發的測試驅動開發
- 11.9 支持敏捷開發的實踐
- 11.8 快速編寫優秀軟件的敏捷宣言
- 11.7 確定團隊工作推進方式的框架的Scrum
- 11.6 打破諸多限制的XP
- 11.5 靈活響應變化的迭代式開發流程
- 11.4 瀑布式開發流程的極限
- 11.3 限制修改的瀑布式開發流程
- 11.2 系統地匯總了作業步驟和成果的開發流程
- 11.1 僅靠技術和技術竅門,軟件開發并不會成功
- 第11章 衍生:敏捷開發
- 深入學習的參考書
- 10.8 進行了職責分配的軟件創建的奇妙世界
- 10.7 面向對象設計的“感覺”是擬人化和職責分配
- 10.6 設計目標之三:避免依賴關系發生循環
- 10.5 提高構件獨立性的訣竅
- 10.4 設計目標之二:提高構件的獨立性
- 10.3 設計目標之一:去除重復
- 10.2 相比運行效率,現在更重視可維護性和可重用性
- 10.1 設計的目標范圍很廣
- 第10章 面向對象設計:擬人化和職責分配
- 深入學習的參考書
- 9.15 建模蘊含著軟件開發的樂趣
- 9.14 嵌入式軟件一直執行單調的工作
- 9.13 使用狀態機圖表示全自動工作的情形
- 9.12 嵌入式軟件中設備的研究開發很重要
- 9.11 嵌入式軟件替代現實世界的工作
- 9.10 在業務應用程序中,數據結構反映現實世界
- 9.9 用概念模型表示圖書館系統的信息
- 9.8 使用用例圖來表示圖書館業務
- 9.7 對圖書館的借閱業務進行建模
- 9.6 業務應用程序記錄現實中的事情
- 9.5 應用程序不同,建模的內容也不一樣
- 9.4 建模是順利推進這三個階段的工作的技術
- 9.3 通過業務分析、需求定義和設計來填補溝壑
- 9.2 計算機擅長固定工作和記憶工作
- 9.1 現實世界和軟件之間存在溝壑
- 第9章 建模:填補現實世界和軟件之間的溝壑
- 深入學習的參考書
- 8.14 彌補自然語言和計算機語言缺點的“語言”
- 8.13 使用狀態機圖表示狀態的變化
- 8.12 使用活動圖表示工作流程
- 8.11 使用用例圖表示交給計算機的工作
- 8.10 UML的使用方法之三:表示非面向對象的信息
- 8.9 表示職責分配的時序圖和通信圖
- 8.8 使用類圖表示根據集合論進行整理的結果
- 8.7 UML的使用方法之二:表示歸納整理法的成果
- 8.6 使用時序圖和通信圖表示動作
- 8.5 類圖表示OOP程序的結構
- 8.4 UML的使用方法之一:表示程序結構和動作
- 8.3 UML的使用方法大致分為三種
- 8.2 UML有13種圖形
- 8.1 UML是表示軟件功能和結構的圖形的繪制方法
- 第8章 UML:查看無形軟件的工具
- 7.6 為何化為了通用的歸納整理法
- 7.5 分為編程技術和歸納整理法進行思考
- 7.4 兩種含義引起混亂
- 7.3 在上游工程中化為通用的歸納整理法
- 7.2 應用于集合論和職責分配
- 7.1 軟件不會直接表示現實世界
- 第7章 化為通用的歸納整理法的面向對象
- 深入學習的參考書
- 6.12 通過類庫和模式發現的重用的好處
- 6.11 擴展到各個領域的思想的重用
- 6.10 設計模式是類庫探險的路標
- 6.9 設計模式是優秀的設計思想集
- 6.8 獨立性較高的構件:組件
- 6.7 世界上可重用的軟件構件群
- 6.6 框架是應用程序的半成品
- 6.5 框架存在各種含義
- 6.4 將Object類作為祖先類的繼承結構
- 6.3 標準類庫是語言規范的一部分
- 6.2 類庫是OOP的軟件構件群
- 6.1 OOP的優秀結構能夠促進重用
- 第6章 重用:OOP帶來的軟件重用和思想重用
- 深入學習的參考書
- 5.13 孤立的實例由垃圾回收處理
- 5.12 根據繼承的信息類型的不同,內存配置也不同
- 5.11 多態讓不同的類看起來一樣
- 5.10 復制存儲實例的變量時要多加注意
- 5.9 在變量中存儲實例的指針
- 5.8 每次創建實例都會使用堆區
- 5.7 每個類只加載一個類信息
- 5.6 OOP的特征在于內存的用法
- 5.5 使用靜態區、堆區和棧區進行管理
- 5.4 CPU同時運行多個線程
- 5.3 解釋、運行中間代碼的虛擬機
- 5.2 兩種運行方式:編譯器與解釋器
- 5.1 理解OOP程序的運行機制
- 第5章 理解內存結構:程序員的基本素養
- 4.19 決心決定OOP的生死
- 4.18 對進化的OOP結構的總結
- 4.17 進化的OOP結構之三:垃圾回收
- 4.16 進化的OOP結構之二:異常
- 4.15 進化的OOP結構之一:包
- 4.14 更先進的OOP結構
- 4.13 編程語言“退化”了嗎
- 4.12 將類作為類型使用
- 4.11 通過嵌入類型使程序員的工作變輕松
- 4.10 對三大要素的總結
- 4.9 三大要素之三:去除類的重復定義的繼承
- 4.8 三大要素之二:實現調用端公用化的多態
- 4.7 實例變量是限定訪問范圍的全局變量
- 4.6 類的功能之三:創建很多個
- 4.5 類的功能之二:隱藏
- 4.4 類的功能之一:匯總
- 4.3 三大要素之一:具有三種功能的類
- 4.2 OOP的結構會根據編程語言的不同而略有差異
- 4.1 OOP具有結構化語言所沒有的三種結構
- 第4章 面向對象編程技術:去除冗余、進行整理
- 深入學習的參考書
- 3.9 沒有解決全局變量問題和可重用性差的問題
- 3.8 進化方向演變為重視可維護性和可重用性
- 3.7 實現無GOTO編程的結構化語言
- 3.6 提高子程序的獨立性,強化可維護性
- 3.5 重視易懂性的結構化編程
- 3.4 高級語言使程序更加接近人類語言
- 3.3 編程語言的第一步是匯編語言
- 3.2 最初使用機器語言編寫程序
- 3.1 OOP的出現具有必然性
- 第3章 理解OOP:編程語言的歷史
- 2.9 與現實世界的相似增大了可能性
- 2.8 軟件并不會直接表示現實世界
- 2.7 明確定義為編程結構
- 2.6 面向對象和現實世界是似是而非的
- 2.5 使用比喻進行講解容易造成混亂
- 2.4 繼承對共同點和不同點進行系統的分類和整理
- 2.3 多態讓消息的發送方法變得通用
- 2.2 類指類型,實例指具體的物
- 2.1 對照現實世界介紹面向對象
- 第2章 似是而非:面向對象與現實世界
- 1.9 本書的構成
- 1.8 重點講解“是什么”和“為什么”
- 1.7 原因之三:面向對象的概念是抽象的
- 1.6 原因之二:濫用比喻引起混亂
- 1.5 原因之一:OOP結構復雜
- 1.4 面向對象難的原因
- 1.3 從編程語言演化為綜合技術
- 1.2 以對象為中心編寫軟件的開發方法
- 1.1 面向對象是軟件開發的綜合技術
- 第1章 面向對象:讓軟件開發變輕松的技術
- 各章的結構
- 本書的結構
- 前言
- 推薦序2
- 推薦序1
- 版權聲明
- 版權信息
- 封面
- 封面
- 版權信息
- 版權聲明
- 推薦序1
- 推薦序2
- 前言
- 本書的結構
- 各章的結構
- 第1章 面向對象:讓軟件開發變輕松的技術
- 1.1 面向對象是軟件開發的綜合技術
- 1.2 以對象為中心編寫軟件的開發方法
- 1.3 從編程語言演化為綜合技術
- 1.4 面向對象難的原因
- 1.5 原因之一:OOP結構復雜
- 1.6 原因之二:濫用比喻引起混亂
- 1.7 原因之三:面向對象的概念是抽象的
- 1.8 重點講解“是什么”和“為什么”
- 1.9 本書的構成
- 第2章 似是而非:面向對象與現實世界
- 2.1 對照現實世界介紹面向對象
- 2.2 類指類型,實例指具體的物
- 2.3 多態讓消息的發送方法變得通用
- 2.4 繼承對共同點和不同點進行系統的分類和整理
- 2.5 使用比喻進行講解容易造成混亂
- 2.6 面向對象和現實世界是似是而非的
- 2.7 明確定義為編程結構
- 2.8 軟件并不會直接表示現實世界
- 2.9 與現實世界的相似增大了可能性
- 第3章 理解OOP:編程語言的歷史
- 3.1 OOP的出現具有必然性
- 3.2 最初使用機器語言編寫程序
- 3.3 編程語言的第一步是匯編語言
- 3.4 高級語言使程序更加接近人類語言
- 3.5 重視易懂性的結構化編程
- 3.6 提高子程序的獨立性,強化可維護性
- 3.7 實現無GOTO編程的結構化語言
- 3.8 進化方向演變為重視可維護性和可重用性
- 3.9 沒有解決全局變量問題和可重用性差的問題
- 深入學習的參考書
- 第4章 面向對象編程技術:去除冗余、進行整理
- 4.1 OOP具有結構化語言所沒有的三種結構
- 4.2 OOP的結構會根據編程語言的不同而略有差異
- 4.3 三大要素之一:具有三種功能的類
- 4.4 類的功能之一:匯總
- 4.5 類的功能之二:隱藏
- 4.6 類的功能之三:創建很多個
- 4.7 實例變量是限定訪問范圍的全局變量
- 4.8 三大要素之二:實現調用端公用化的多態
- 4.9 三大要素之三:去除類的重復定義的繼承
- 4.10 對三大要素的總結
- 4.11 通過嵌入類型使程序員的工作變輕松
- 4.12 將類作為類型使用
- 4.13 編程語言“退化”了嗎
- 4.14 更先進的OOP結構
- 4.15 進化的OOP結構之一:包
- 4.16 進化的OOP結構之二:異常
- 4.17 進化的OOP結構之三:垃圾回收
- 4.18 對進化的OOP結構的總結
- 4.19 決心決定OOP的生死
- 第5章 理解內存結構:程序員的基本素養
- 5.1 理解OOP程序的運行機制
- 5.2 兩種運行方式:編譯器與解釋器
- 5.3 解釋、運行中間代碼的虛擬機
- 5.4 CPU同時運行多個線程
- 5.5 使用靜態區、堆區和棧區進行管理
- 5.6 OOP的特征在于內存的用法
- 5.7 每個類只加載一個類信息
- 5.8 每次創建實例都會使用堆區
- 5.9 在變量中存儲實例的指針
- 5.10 復制存儲實例的變量時要多加注意
- 5.11 多態讓不同的類看起來一樣
- 5.12 根據繼承的信息類型的不同,內存配置也不同
- 5.13 孤立的實例由垃圾回收處理
- 深入學習的參考書
- 第6章 重用:OOP帶來的軟件重用和思想重用
- 6.1 OOP的優秀結構能夠促進重用
- 6.2 類庫是OOP的軟件構件群
- 6.3 標準類庫是語言規范的一部分
- 6.4 將Object類作為祖先類的繼承結構
- 6.5 框架存在各種含義
- 6.6 框架是應用程序的半成品
- 6.7 世界上可重用的軟件構件群
- 6.8 獨立性較高的構件:組件
- 6.9 設計模式是優秀的設計思想集
- 6.10 設計模式是類庫探險的路標
- 6.11 擴展到各個領域的思想的重用
- 6.12 通過類庫和模式發現的重用的好處
- 深入學習的參考書
- 第7章 化為通用的歸納整理法的面向對象
- 7.1 軟件不會直接表示現實世界
- 7.2 應用于集合論和職責分配
- 7.3 在上游工程中化為通用的歸納整理法
- 7.4 兩種含義引起混亂
- 7.5 分為編程技術和歸納整理法進行思考
- 7.6 為何化為了通用的歸納整理法
- 第8章 UML:查看無形軟件的工具
- 8.1 UML是表示軟件功能和結構的圖形的繪制方法
- 8.2 UML有13種圖形
- 8.3 UML的使用方法大致分為三種
- 8.4 UML的使用方法之一:表示程序結構和動作
- 8.5 類圖表示OOP程序的結構
- 8.6 使用時序圖和通信圖表示動作
- 8.7 UML的使用方法之二:表示歸納整理法的成果
- 8.8 使用類圖表示根據集合論進行整理的結果
- 8.9 表示職責分配的時序圖和通信圖
- 8.10 UML的使用方法之三:表示非面向對象的信息
- 8.11 使用用例圖表示交給計算機的工作
- 8.12 使用活動圖表示工作流程
- 8.13 使用狀態機圖表示狀態的變化
- 8.14 彌補自然語言和計算機語言缺點的“語言”
- 深入學習的參考書
- 第9章 建模:填補現實世界和軟件之間的溝壑
- 9.1 現實世界和軟件之間存在溝壑
- 9.2 計算機擅長固定工作和記憶工作
- 9.3 通過業務分析、需求定義和設計來填補溝壑
- 9.4 建模是順利推進這三個階段的工作的技術
- 9.5 應用程序不同,建模的內容也不一樣
- 9.6 業務應用程序記錄現實中的事情
- 9.7 對圖書館的借閱業務進行建模
- 9.8 使用用例圖來表示圖書館業務
- 9.9 用概念模型表示圖書館系統的信息
- 9.10 在業務應用程序中,數據結構反映現實世界
- 9.11 嵌入式軟件替代現實世界的工作
- 9.12 嵌入式軟件中設備的研究開發很重要
- 9.13 使用狀態機圖表示全自動工作的情形
- 9.14 嵌入式軟件一直執行單調的工作
- 9.15 建模蘊含著軟件開發的樂趣
- 深入學習的參考書
- 第10章 面向對象設計:擬人化和職責分配
- 10.1 設計的目標范圍很廣
- 10.2 相比運行效率,現在更重視可維護性和可重用性
- 10.3 設計目標之一:去除重復
- 10.4 設計目標之二:提高構件的獨立性
- 10.5 提高構件獨立性的訣竅
- 10.6 設計目標之三:避免依賴關系發生循環
- 10.7 面向對象設計的“感覺”是擬人化和職責分配
- 10.8 進行了職責分配的軟件創建的奇妙世界
- 深入學習的參考書
- 第11章 衍生:敏捷開發
- 11.1 僅靠技術和技術竅門,軟件開發并不會成功
- 11.2 系統地匯總了作業步驟和成果的開發流程
- 11.3 限制修改的瀑布式開發流程
- 11.4 瀑布式開發流程的極限
- 11.5 靈活響應變化的迭代式開發流程
- 11.6 打破諸多限制的XP
- 11.7 確定團隊工作推進方式的框架的Scrum
- 11.8 快速編寫優秀軟件的敏捷宣言
- 11.9 支持敏捷開發的實踐
- 11.10 先編寫測試代碼,一邊運行一邊開發的測試驅動開發
- 11.11 在程序完成后改善運行代碼的重構
- 11.12 經常進行系統整合的持續集成
- 11.13 實踐敏捷宣言理念的方法
- 11.14 敏捷開發源于面向對象
- 11.15 不存在最好的開發流程
- 深入學習的參考書
- 第12章 熟練掌握面向對象
- 12.1 面向對象這一強大概念是原動力
- 12.2 時代追上了面向對象
- 12.3 面向對象的熱潮不會結束
- 12.4 將面向對象作為工具熟練掌握
- 12.5 享受需要動腦的軟件開發
- 深入學習的參考書
- 附章 函數式語言是怎樣工作的
- A.1 面向對象編程語言和函數式語言混合占據主流的時代
- A.2 函數式語言的7個特征
- A.3 特征1:使用函數編寫程序
- A.4 特征2:所有表達式都返回值
- A.5 特征3:將函數作為值進行處理
- A.6 特征4:可以靈活組合函數和參數
- A.7 特征5:沒有副作用
- A.8 特征6:使用模式匹配和遞歸來編寫循環處理
- A.9 特征7:編譯器自動進行類型推斷
- A.10 對7個特征的總結
- A.11 函數式語言的分類
- A.12 函數式語言的優勢
- A.13 函數式語言的課題
- A.14 函數式語言和面向對象的關系
- A.15 掌握函數式編程
- 深入學習的參考書
- 后記
- 致謝
- 看完了 更新時間:2023-06-20 18:08:02