The Art of Objects: Object-Oriented Design and Architecture (Paperback)
暫譯: 物件的藝術:物件導向設計與架構 (平裝本)

Yun-Tung Lau Ph.D.

  • 出版商: Addison Wesley
  • 出版日期: 2000-10-26
  • 售價: $1,450
  • 貴賓價: 9.5$1,378
  • 語言: 英文
  • 頁數: 384
  • 裝訂: Paperback
  • ISBN: 0201711613
  • ISBN-13: 9780201711615
  • 相關分類: Object-oriented
  • 立即出貨(限量) (庫存=2)

買這商品的人也買了...

相關主題

商品描述


Description

A single source for expertise on every leading object-oriented design technique!

  • Patterns, Java, UML, XML, Web application development, and more.
  • Detailed coverage of persistent and distributed objects, with practical introductions to CORBA and IDL.
  • Includes extensive set of practical exercises and sample code derived from real-world projects.
In this book, a leading software architect presents the rock-solid foundations of object design and architecture -- and the art of applying them. The Art of Objects will help analysts, architects, and developers fully leverage today's most important object tools and technologies, including Java, UML, XML, middleware, patterns, and much more. Its real-world case studies, examples, and exercises are designed in a holistic, forward-looking manner, ensuring that whatever technologies go out of fashion, readers will have the object skills they need to succeed. Yun-Tung Lau presents the language-independent fundamentals of object design; then provides a detailed overview of the Unified Modeling Language. Building from the basics, he presents advanced approaches such as object relationship loops, and relationship fission for analyzing complex object structures. The Art of Objects contains extensive coverage of persistent objects, including mapping to relational tables, event processing objects, distributed objects, CORBA, and the Interface Definition Language. It also introduces the latest XML object models.

Yun-Tung Lau is chief engineer at Science Application International Corporation (SAIC). He has extensive experience with large-scale software architecture, design, and development, and has served as chief architect for software projects ranging from engineering simulation to supply chain management, product data management to electronic commerce.

Back to Top


Table Of Contents

Preface.
Organization of the Book.
Online Resources.
Acknowledgments.
1. Basic Concepts.
The Nature of Objects.
Unified Modeling Language.
UML Notation Basics.
Object Creation and Destruction.
Associations and Links.
Binary Associations and Links.
Ordering and Sorting.
Navigation and Referential Integrity.
Ternary and Higher Order Associations.
Aggregation and Composition.
Servant Classes and Delegation.
Inheritance.
Inherited versus Servant Classes.
Polymorphism and Object Substitution.
Exercises.

2. Common Patterns in Static Design.
Collection Managers.
Containers.
Self-Containing Classes, Hierarchies, and Networks.
Relationship Loops.
Relationship Fission.
Inheritance of Relationship Loops.
Double Loops.
Three-Tier Relationship Loops.
Binary Association Classes.
Implementing Binary Association Classes.
Recursive Association Class.
The Handle-Body Pattern.
Dynamic Schema.
Shared Object Pools.
Object Model for Extensible Markup Language.
XML Basics.
XML Object Models.
The Strengths and Weaknesses of XML.
Case Study: ATM System Software.
Project Description.
State Analysis and Design.
Case Study: Shared Whiteboard.
Case Study: Access Control Lists.
Exercises.

3. Persistent Objects.
Transactions and Database Management Systems.
Object-Oriented Databases.
Database Roots and Extents.
Persistence-Enabled Objects.
Destruction of Persistent Objects.
Schema Evolution.
Relational Databases.
Mapping Persistent Objects to Tables.
Classes and Binary Associations.
Aggregation, Composition, and Servant Classes.
Ternary and Higher Order Associations.
Reducing Ternary Associations to Binary Ones.
Degenerate Ternary Associations.
Inheritance.
Mapping Rules Summary.
A Critical Comparison Between Relational and Object-Oriented Databases.
Optimization of Relational Tables.
Optimization of Persistent Objects.
Case Study: ATM System Software.
Case Study: Shared Whiteboard.
Case Study: A Rental Business.
Initial Analysis and Design.
Full Object Design for Multiple Stores.
Detailed Object Designs.
Case Study: Access Control Lists.
Exercises.

4. Advanced Topics in Object Modeling.
Abstract Classes.
Multiple Inheritance.
Interfaces.
Inner Classes.
Collections.
Packages.
Components.
Nodes.
UML Notation Basics for Dynamic Modeling.
Reverse Engineering and Irreducible Patterns.
Exercises.

5. Dynamic Object Modeling Basics.
Use Case Analyses.
Sequence Diagrams.
The Client/Server Model and Distributed Objects.
Interface Definition and Client/Server Development.
The CORBA Standard.
Interface Definition Language.
Statechart Diagrams.
Case Study: ATM System Software.
Case Study: Shared Whiteboard.
Case Study: A Rental Business.
Case Study: Access Control Lists.
Exercises.

6. Common Interface Design Patterns.
Object Wrappers.
Object Adapters.
Object Factories and Managers.
Interfaces as Servant Classes.
Servant Interfaces in Event Processing.
Single Event Pushing and Observers.
Callbacks from Server Objects.
Subscription and Notification.
Model-View-Controller.
Relationship Loops with Interfaces.
Inheritance Ladders.
CORBA Objects.
CORBA Client Stubs.
Tactics in Designing Distributed Objects.
Proxy and Surrogate Objects.
Case Study: ATM System Software.
Case Study: Shared Whiteboard.
Message Port — An Infrastructure for a Collaboration Group.
Sequence Diagrams for MessagePort.
Case Study: Access Control Lists.
Exercises.

7. Object-Oriented Architecture.
Notations for Architecture Diagrams.
Procedural Processing Systems.
Client/Server Systems.
“Thin Clients” and Object IDs.
Web Applications Using the MVC Framework.
Layered Systems.
Layering with Servant Objects.
Three-Tier and Multi-Tier Systems.
Clustering and Serializing.
Agents.
Aggregations and Federations.
Architectural Patterns in UML.
Case Study: ATM System Software.
Case Study: Shared Whiteboard.
The Shared Whiteboard Aggregation.
Image Exchange Formats and Policies.
The Interface and Control Layers.
Synchronization and Related Issues.
Trace Table for Requirements.
Case Study: A Rental Business.
Case Study: The Enterprise JavaBeans Framework.
Static Structures.
Resource Management Strategies.
Dynamic Behaviors of Entity Beans.
Exercises.

Summaries and Notes.
Chapter Summary and Notes.
Notes on CORBA-COM Interoperability.
Case Studies Summary.

Answers to Exercises.
Chapter Exercise Answers.

Appendix A: Quick References for Object Designers.
Appendix B: Sample Code Reference List.
Appendix C: Features of Object-Oriented Languages.
References.
Index. 0201711613T04062001


Back to Top

商品描述(中文翻譯)

描述
一個關於所有主要物件導向設計技術的專業知識單一來源!
- 模式、Java、UML、XML、網頁應用程式開發等。
- 詳細涵蓋持久性和分散式物件,並實用介紹CORBA和IDL。
- 包含大量實用練習和來自真實專案的範例程式碼。

在這本書中,一位領先的軟體架構師呈現了物件設計和架構的堅實基礎,以及應用它們的藝術。《物件的藝術》將幫助分析師、架構師和開發人員充分利用當今最重要的物件工具和技術,包括Java、UML、XML、中介軟體、模式等。其真實案例研究、範例和練習以整體、前瞻性的方式設計,確保無論哪些技術過時,讀者都能擁有成功所需的物件技能。Yun-Tung Lau介紹了與語言無關的物件設計基本原則;然後提供統一建模語言的詳細概述。從基礎開始,他介紹了分析複雜物件結構的進階方法,如物件關係迴圈和關係分裂。《物件的藝術》廣泛涵蓋持久性物件,包括映射到關聯表、事件處理物件、分散式物件、CORBA和介面定義語言。它還介紹了最新的XML物件模型。

Yun-Tung Lau是科學應用國際公司(SAIC)的首席工程師。他在大型軟體架構、設計和開發方面擁有豐富的經驗,並曾擔任從工程模擬到供應鏈管理、產品數據管理到電子商務的軟體專案首席架構師。

目錄
- 前言
- 書籍組織
- 在線資源
- 感謝詞
- 1. 基本概念
- 物件的本質
- 統一建模語言
- UML符號基礎
- 物件的創建與銷毀
- 關聯與連結
- 二元關聯與連結
- 排序與排序
- 導航與參考完整性
- 三元及更高階關聯
- 聚合與組合
- 服務類別與委派
- 繼承
- 繼承類別與服務類別
- 多型與物件替代
- 練習

- 2. 靜態設計中的常見模式
- 集合管理器
- 容器
- 自包含類別、層級與網路
- 關聯迴圈
- 關聯分裂
- 關聯迴圈的繼承
- 雙迴圈
- 三層關聯迴圈
- 二元關聯類別
- 實作二元關聯類別
- 遞歸關聯類別
- 處理-主體模式
- 動態架構
- 共享物件池
- 可擴展標記語言的物件模型
- XML基礎
- XML物件模型
- XML的優缺點
- 案例研究:ATM系統軟體
- 專案描述
- 狀態分析與設計
- 案例研究:共享白板
- 案例研究:存取控制清單
- 練習

- 3. 持久性物件
- 交易與資料庫管理系統
- 物件導向資料庫
- 資料庫根與範圍
- 支援持久性的物件
- 持久性物件的銷毀
- 架構演變
- 關聯資料庫
- 將持久性物件映射到表格
- 類別與二元關聯
- 聚合、組合與服務類別
- 三元及更高階關聯
- 將三元關聯簡化為二元關聯
- 異常三元關聯
- 繼承
- 映射規則摘要
- 關聯資料庫與物件導向資料庫的關鍵比較
- 關聯表的優化
- 持久性物件的優化
- 案例研究:ATM系統軟體
- 案例研究:共享白板
- 案例研究:租賃業務
- 初步分析與設計
- 多商店的完整物件設計
- 詳細物件設計
- 案例研究:存取控制清單
- 練習

- 4. 物件建模中的進階主題
- 抽象類別
- 多重繼承
- 介面
- 內部類別
- 集合
- 套件
- 元件
- 節點
- 動態建模的UML符號基礎
- 逆向工程與不可約模式
- 練習

- 5. 動態物件建模基礎
- 用例分析
- 序列圖
- 客戶端/伺服器模型與分散式物件
- 介面定義與客戶端/伺服器開發
- CORBA標準
- 介面定義語言
- 狀態圖
- 案例研究:ATM系統軟體
- 案例研究:共享白板
- 案例研究:租賃業務
- 案例研究:存取控制清單
- 練習

- 6. 常見介面設計模式
- 物件包裝器
- 物件適配器
- 物件工廠與管理器
- 介面作為服務類別
- 事件處理中的服務介面
- 單一事件推送與觀察者
- 伺服器物件的回呼
- 訂閱與通知
- 模型-視圖-控制器
- 具有介面的關聯迴圈
- 繼承階梯
- CORBA物件
- CORBA客戶端存根
- 設計分散式物件的策略
- 代理與替代物件
- 案例研究:ATM系統軟體
- 案例研究:共享白板
- 訊息埠——協作小組的基礎設施
- 訊息埠的序列圖
- 案例研究:存取控制清單
- 練習

- 7. 物件導向架構
- 架構圖的符號
- 程序處理系統
- 客戶端/伺服器系統
- “瘦客戶端”與物件ID
- 使用MVC框架的網頁應用程式
- 分層系統
- 使用服務物件的分層
- 三層與多層系統
- 集群與序列化
- 代理
- 聚合與聯邦
- UML中的架構模式
- 案例研究:ATM系統軟體
- 案例研究:共享白板
- 共享白板聚合
- 圖像交換格式與政策
- 介面與控制層
- 同步與相關問題
- 需求的追蹤表
- 案例研究:租賃業務
- 案例研究:企業JavaBeans框架
- 靜態結構
- 資源管理策略
- 實體Bean的動態行為
- 練習

摘要與註解
- 章節摘要與註解
- 關於CORBA-COM互操作性的註解
- 案例研究摘要

練習答案
- 章節練習答案

附錄A:物件設計師的快速參考
附錄B:範例程式碼參考清單
附錄C:物件導向語言的特性
參考文獻
索引