Software Paradigms
暫譯: 軟體範式
Stephen H. Kaisler
- 出版商: Wiley
- 出版日期: 2005-03-01
- 售價: $6,210
- 貴賓價: 9.5 折 $5,900
- 語言: 英文
- 頁數: 440
- 裝訂: Hardcover
- ISBN: 0471483478
- ISBN-13: 9780471483472
海外代購書籍(需單獨結帳)
買這商品的人也買了...
-
$1,710$1,625 -
$580$458 -
$399Your Wish Is My Command: Programming by Example (Paperback)
-
$720$569 -
$620$490 -
$900$855 -
$490$387 -
$780$616 -
$540$427 -
$650$514 -
$380$300 -
$760$600 -
$650$514 -
$650$507 -
$460$363 -
$520$406 -
$590$502 -
$1,881Linux Device Drivers, 3/e (Paperback)
-
$620$490 -
$200$158 -
$590$460 -
$580$452 -
$650$514 -
$600$474 -
$790$672
商品描述
Description:
Software Paradigms provides the first complete compilation of software paradigms commonly used to develop large software applications, with coverage ranging from discrete problems to full-scale applications. The book focuses on providing a structure for understanding a hierarchy of software development approaches, and showing the relationships between the different models. Coverage includes paradigms in design patterns, software components, software architectures, and frameworks. Chapters within each of these sections include design issues related to building and using the paradigm as well as numerous real world applications. A practical overview of the hierarchy of development paradigms, Software Paradigms is an excellent teaching tool for undergraduates and graduates, and a comprehensive and reliable reference for software engineers.
Table of Contents:
Advice for the Instructor.
Acknowledgments.
1. Introduction.
1.1 The Meaning of Paradigm.
1.2 Software Solves Problems.
1.3 Designing and Developing Software.
1.4 Understanding Problem Paradigms.
1.5 Overview of Book.
1.6 Conventions.
1.7 Exercises.
2. Paradigm Overview.
2.1 Problem Paradigms.
2.2 A Functional Classification of Problems.
2.3 Programming Languages.
2.4 Design Patterns.
2.5 Components.
2.6 Software Architectures.
2.7 Frameworks.
2.8 Further Readiing.
PART I: DESIGN PATTERNS.
3. Overview of Design Patterns.
3.1 A Brief History of Patterns.
3.2 Why Patterns?
3.3 Pattern Spaces.
3.4 Types of Software Patterns.
3.5 Describing Patterns.
3.6 How Do We Discover Patterns?
3.7 Using Patterns.
3.8 Further Reading.
3.9 Exercises.
4. Software Patterns.
4.1 Singleton.
4.2 The Wrapper Pattern.
4.3. The Abstract Factory Pattern.
4.4 Observer Pattern.
4.5 Exercises.
5. Human-Computer Interface Patterns.
5.1 Style Guides.
5.2 An HCI Pattern Language.
5.3 Web Design Patterns.
5.4 Further Reading.
5.5 Exercises.
6. Other Pattern Domains.
6.1 Coplien's Patterns.
6.2 Object-Oriented Patterns.
6.3 Antipatterns.
6.4 Further Reading.
6.5 Exercises.
7. Pattern Design.
7.1 Design Pattern Issues.
7.2 Some Simple Pattern Design Principles.
7.3 Limitations of Design Patterns.
7.4 Further Exploration.
7.5 Exercises.
PART II: COMPONENTS.
8. Component Concepts.
8.1 What are Software Components?
8.2 Why Use Components?
8.3 Component Models.
8.4 Using Components.
8.5 Component Reuse.
8.6 Exercises.
9. Types of Components.
9.1 Event-Based Components.
9.2 Java Events.
9.3 Distributed Components.
9.4 Transaction Processing.
9.5 Exercises.
10. Component Technologies.
10.1 CORBA.
10.2 System Object Model.
10.3 Microsoft's COM/DCOM.
10.4 JavaBeans.
10.4.7 Further Reading.
10.5 Exercises.
11. Component-Based Software Engineering.
11.1 Defining CBSE.
11.2 Problems with CBSE.
11.3 Problems in using Components.
11.4 Problems with Glue Code.
11.5 Exercises.
PART III: SOFTWARE ARCHITECTURES.
12. Overview of Software Architectures.
12.1 Software Architecture Elements and Description.
12.2 Why Do We Need a Software Architecture? .
12.3 Software Architecting versus Software Engineering.
12.4 Domain-Specific Software Architectures.
12.5 Roles and Benefits.
12.6 Software Architecture Models.
12.7 What To Look For.
12.8 Exercises.
13. Data Flow Systems.
13.1 The Data Flow Model.
13.2 Batch Sequential Systems.
13.3 Pipes and Filters.
13.4 Further Reading.
13.5 Exercises.
14. Call-and-Return Systems.
14.1 Main Program and Subroutines.
14.2 Client-Server Systems.
14.3 Object-Oriented Systems.
14.4 Hierarchically Layered Systems.
14.5 Further Reading.
14.6 Exercises.
15. Virtual Machines.
15.1 Interpreters.
15.2 Virtual Machine Examples.
15.3 Rule-Based Systems.
15.4 Advantages and Disadvantages.
15.5 Further Reading.
15.6 Exercises.
16. Independent Component Systems.
16.1 Communicating Sequential Processes.
16.2 Event-Based Systems.
16.3 Event System Issues.
16.4 Broker Systems.
16.5 Further Reading.
16.6 Exercises.
17. Data-Centric Systems.
17.1 Database Systems.
17.2 Blackboard Systems.
17.3 The Linda Model and Language.
17.4 Further Reading.
17.5 Exercises.
18. Concurrent Software Architectures.
18.1 Basic Concepts.
18.2 Parallel Programming.
18.3 Data Parallel Systems.
18.4 Message Passing Systems.
18.5 A Parallel Programming Methodology.
18.6 Evaluating the Models.
18.7 Exercises.
19. Software Architecture Challenges.
19.1 Software Architecture Description.
19.2 Design Issues.
19.3 Analysis of Software Architectures.
19.4 Further Readings.
19.5 Exercises.
PART IV: FRAMEWORKS.
20. Framework Concepts.
20.1 Types of Frameworks.
20.2 Framework Elements.
20.3 Using Frameworks.
20.4 Documenting Frameworks.
20.5 Designing Frameworks.
20.6 Problems With Frameworks.
20.7 Framework Domains.
20.8 Further Reading.
20.9 Exercises.
21. GUI Frameworks.
21.1 Smalltalk-80 Programming Environment.
21.2 MacApp Framework.
21.3 The Taligent Framework.
21.4 Other Frameworks.
21.5 Exercises.
22. Development Frameworks.
22.1 Java as a Framework.
22.2 Microsoft's .NET Framework.
22.3 IBM's San Francisco Project.
22.4 POOMA.
22.5 Further Reading.
22.6 Exercises.
23. Challenges in Frameworks.
23.1 Developing Frameworks.
23.2 Application Development Using a Framework.
23.3 Testing Frameworks.
23.4 Issues in Framework Usage.
23.6 Exercises.
Bibliography.
Glossary.
Index.
商品描述(中文翻譯)
**描述:**
《Software Paradigms》提供了第一個完整的軟體範式彙編,涵蓋了開發大型軟體應用程式時常用的軟體範式,範圍從離散問題到全規模應用程式。這本書專注於提供一個理解軟體開發方法層級的結構,並展示不同模型之間的關係。內容包括設計模式、軟體元件、軟體架構和框架中的範式。每個部分的章節包括與建立和使用範式相關的設計問題以及眾多實際應用。作為開發範式層級的實用概述,《Software Paradigms》是本科生和研究生的優秀教學工具,也是軟體工程師的全面且可靠的參考資料。
**目錄:**
- 教師建議
- 致謝
- 1. 介紹
- 1.1 範式的意義
- 1.2 軟體解決問題
- 1.3 設計和開發軟體
- 1.4 理解問題範式
- 1.5 書籍概述
- 1.6 約定
- 1.7 練習
- 2. 範式概述
- 2.1 問題範式
- 2.2 問題的功能分類
- 2.3 程式語言
- 2.4 設計模式
- 2.5 元件
- 2.6 軟體架構
- 2.7 框架
- 2.8 進一步閱讀
- **第一部分:設計模式**
- 3. 設計模式概述
- 3.1 模式的簡史
- 3.2 為什麼使用模式?
- 3.3 模式空間
- 3.4 軟體模式的類型
- 3.5 描述模式
- 3.6 我們如何發現模式?
- 3.7 使用模式
- 3.8 進一步閱讀
- 3.9 練習
- 4. 軟體模式
- 4.1 單例模式
- 4.2 包裝器模式
- 4.3 抽象工廠模式
- 4.4 觀察者模式
- 4.5 練習
- 5. 人機介面模式
- 5.1 風格指南
- 5.2 HCI 模式語言
- 5.3 網頁設計模式
- 5.4 進一步閱讀
- 5.5 練習
- 6. 其他模式領域
- 6.1 Coplien 的模式
- 6.2 物件導向模式
- 6.3 反模式
- 6.4 進一步閱讀
- 6.5 練習
- 7. 模式設計
- 7.1 設計模式問題
- 7.2 一些簡單的模式設計原則
- 7.3 設計模式的限制
- 7.4 進一步探索
- 7.5 練習
- **第二部分:元件**
- 8. 元件概念
- 8.1 什麼是軟體元件?
- 8.2 為什麼使用元件?
- 8.3 元件模型
- 8.4 使用元件
- 8.5 元件重用
- 8.6 練習
- 9. 元件類型
- 9.1 事件驅動元件
- 9.2 Java 事件
- 9.3 分散式元件
- 9.4 交易處理
- 9.5 練習
- 10. 元件技術
- 10.1 CORBA
- 10.2 系統物件模型
- 10.3 微軟的 COM/DCOM
- 10.4 JavaBeans
- 10.4.7 進一步閱讀
- 10.5 練習
- 11. 基於元件的軟體工程
- 11.1 定義 CBSE
- 11.2 CBSE 的問題
- 11.3 使用元件的問題
- 11.4 膠水程式的問題
- 11.5 練習
- **第三部分:軟體架構**
- 12. 軟體架構概述
- 12.1 軟體架構元素及描述
- 12.2 為什麼需要軟體架構?
- 12.3 軟體架構設計與軟體工程
- 12.4 特定領域的軟體架構
- 12.5 角色與好處
- 12.6 軟體架構模型
- 12.7 應該注意什麼
- 12.8 練習
- 13. 數據流系統
- 13.1 數據流模型
- 13.2 批次序列系統
- 13.3 管道與過濾器
- 13.4 進一步閱讀
- 13.5 練習
- 14. 呼叫與返回系統
- 14.1 主程式與子程式
- 14.2 客戶端-伺服器系統
- 14.3 物件導向系統
- 14.4 階層式分層系統
- 14.5 進一步閱讀
- 14.6 練習
- 15. 虛擬機器
- 15.1 解譯器
- 15.2 虛擬機器範例
- 15.3 基於規則的系統
- 15.4 優缺點
- 15.5 進一步閱讀
- 15.6 練習
- 16. 獨立元件系統
- 16.1 通信序列過程
- 16.2 事件驅動系統
- 16.3 事件系統問題
- 16.4 代理系統
- 16.5 進一步閱讀
- 16.6 練習
- 17. 數據中心系統
- 17.1 數據庫系統
- 17.2 黑板系統
- 17.3 Linda 模型與語言
- 17.4 進一步閱讀
- 17.5 練習
- 18. 並行軟體架構
- 18.1 基本概念
- 18.2 並行程式設計
- 18.3 數據並行系統
- 18.4 訊息傳遞系統
- 18.5 一種並行程式設計方法
- 18.6 評估模型
- 18.7 練習
- 19. 軟體架構挑戰
- 19.1 軟體架構描述
- 19.2 設計問題
- 19.3 軟體架構分析
- 19.4 進一步閱讀
- 19.5 練習
- **第四部分:框架**
- 20. 框架概念
- 20.1 框架的類型
- 20.2 框架元素
- 20.3 使用框架
- 20.4 框架文檔
- 20.5 設計框架
- 20.6 框架的問題
- 20.7 框架領域
- 20.8 進一步閱讀
- 20.9 練習
- 21. GUI 框架
- 21.1 Smalltalk-80 程式設計環境
- 21.2 MacApp 框架
- 21.3 Taligent 框架