J2EEデザインパターン

[cover photo]
TOPICS
Programming , Java
発行年月日
PRINT LENGTH
404
ISBN
4-87311-178-1
原書
J2EE Design Patterns
FORMAT
Print
4,180円
この商品は品切れ再入荷未定です

効率的で美しいアプリケーションを設計するためには、複雑な仕組みを抽象化、単純化するデザインパターンの利用が不可欠です。開発アプリケーションが大規模になるほど、そして複雑になるほど、その恩恵も大きくなります。本書はJ2EEに特化したデザインパターンの解説書です。拡張性、柔軟性、そしてパフォーマンスに重点を置いた新しいデザインパターンを多数紹介するだけでなく、実際にどのように適用すればよいのか、多くのサンプルコードを例示しながら、J2EEアプリケーション開発の極意を説いています。J2EE開発者の座右の書となる決定版です。

関連ファイル

目次

監訳者まえがき
はじめに

1章 Javaエンタープライズデザイン
    1.1 デザインパターン
        1.1.1 パターンの分析
        1.1.2 パターンの提示
    1.2 J2EE
    1.3 アプリケーション層
        1.3.1 コンポーネントベースの開発
    1.4 主要な開発コンセプト
        1.4.1 拡張性
        1.4.2 スケーラビリティ
        1.4.3 信頼性
        1.4.4 適時性
        1.4.5 以降の章では

2章 UML
    2.1 UMLの起源
    2.2 『荒野の7人』
    2.3 UMLとソフトウェア開発ライフサイクル
    2.4 ユースケース図
    2.5 クラス図
        2.5.1 クラス間の関係
        2.5.2 クラス図を使用したパターンの記述
        2.5.3 オブジェクト
        2.5.4 パッケージ
    2.6 相互作用図
        2.6.1 シーケンス図
        2.6.2 コラボレーション図
    2.7 アクティビティ図
    2.8 配置図

3章 プレゼンテーション層のアーキテクチャ
    3.1 サーバサイドのプレゼンテーション層
    3.2 アプリケーション構造
        3.2.1 MVC(Model-View-Controller)パターン
        3.2.2 J2EEにおけるMVCの使用
    3.3 中核コントローラの構築
        3.3.1 Front Controllerパターン
        3.3.2 フロントコントローラサーブレット
        3.3.3 Decoratorパターン
        3.3.4 フロントコントローラの装飾

4章 高度なプレゼンテーション層デザイン
    4.1 Webアプリケーションにおける再利用
    4.2 コントローラの拡張
        4.2.1 Service to Workerパターン
        4.2.2 J2EEにおけるService to Worker
    4.3 高度なビュー
        4.3.1 View Helperパターン
        4.3.2 ビューヘルパの実装
        4.3.3 Composite View

5章 プレゼンテーション層のスケーラビリティ
    5.1 スケーラビリティとボトルネック
    5.2 コンテンツキャッシング
        5.2.1 コンテンツコンポーネントのキャッシング
        5.2.2 Asynchronous Pageパターン
        5.2.3 動的なコンテンツキャッシング
        5.2.4 Caching Filterパターン
        5.2.5 キャッシングフィルタの実装
    5.3 リソースプール
        5.3.1 Resource Poolパターン
        5.3.2 リソースプールの実装

6章 ビジネス層
    6.1 ビジネス層
        6.1.1 ビジネス層のコンポーネント
    6.2 ドメインオブジェクト
        6.2.1 ドメインオブジェクトモデル
        6.2.2 オブジェクトモデルの構築
        6.2.3 Composite Entityパターン/Entity Façdeパターン

7章 層と層の間の通信
    7.1 Data Transferパターン
        7.1.1 データ転送オブジェクト
        7.1.2 Data Transfer Hashパターン
        7.1.3 行セットDTO

8章 データベースとデータパターン
    8.1 データアクセスパターン
        8.1.1 Data Access Objectパターン
        8.1.2 DAO Factoryパターン
        8.1.3 レイジーロード
        8.1.4 IsDirtyパターン
        8.1.5 プロシージャアクセスオブジェクト
    8.2 Primary Keyパターン
        8.2.1 PK Block Generatorパターン
        8.2.2 Stored Procedures for Primary Keysパターン
    8.3 オブジェクトリレーショナルマッピング
        8.3.1 複雑なクラス関係
        8.3.2 Table Inheritanceパターン
        8.3.3 Serialized Entityパターン
        8.3.4 Tuple Tableパターン

9章 ビジネス層のインタフェース
    9.1 ビジネスロジックの抽出
        9.1.1 Business Delegate
        9.1.2 Business Delegate Factoryパターン
    9.2 リモートサービスへのアクセス
        9.2.1 Service Adapterパターン
        9.2.2 Session Façdeパターン
    9.3 リソースの特定
        9.3.1 Service Locatorパターン
        9.3.2 Service Locatorパターンの変形型
        9.3.3 サービスロケータの実装

10章 エンタープライズにおける並行処理
    10.1 トランザクション管理
        10.1.1 トランザクションについて
        10.1.2 ACID Transactionパターン
        10.1.3 トランザクションとオブジェクト
        10.1.4 Transactional Contextパターン
    10.2 一般的な並列処理パターン
        10.2.1 リソースのロック
        10.2.2 Optimistic Concurrencyパターン
        10.2.3 Pessimistic Concurrencyパターン
    10.3 並列処理の実装
        10.3.1 Lockable Objectパターン
        10.3.2 Lock Managerパターン
        10.3.3 Version Numberパターン

11章 メッセージング
    J2EEでのメッセージング
    非同期のメッセージング対Webサービス
    11.1 メッセージングと統合
        11.1.1 メッセージングの種類
    11.2 メッセージ配信パターン
        11.2.1 Point-to-Point Distributionパターン
        11.2.2 Publish-Subscribeパターン
        11.2.3 Malformed Message Channelパターン
    11.3 メッセージタイプ
        11.3.1 イベントメッセージ
        11.3.2 ドキュメントメッセージ
        11.3.3 コマンドメッセージ
    11.4 メッセージの関連付け
        11.4.1 Sequenced Messagesパターン
    11.5 メッセージクライアントパターン
        11.5.1 Message Handlerパターン
        11.5.2 Polling Consumerパターン
        11.5.3 Event-Driven Consumerパターン
        11.5.4 Message Façdeパターン
        11.5.5 Message Selectorパターン
        11.5.6 Competing Consumersパターン
    11.6 メッセージングの統合
        11.6.1 Pipes and Filtersパターン
        11.6.2 Content-Based Routingパターン
        11.6.3 Content Aggregatorパターン
        11.6.4 Control Busパターン
    11.7 参考文献

12章 J2EEアンチパターン
    12.1 アンチパターンの原因
    12.2 アーキテクチャのアンチパターン
        12.2.1 Excessive Layeringアンチパターン
        12.2.2 Leak Collectionアンチパターン
    12.3 プレゼンテーション層のアンチパターン
        12.3.1 Magic Servletアンチパターン
        12.3.2 Monolithic JSPアンチパターンとCompound JSPアンチパターン
        12.3.3 Overstuffed Sessionアンチパターン
    12.4 EJBアンチパターン
        12.4.1 Everything Is an EJBアンチパターン
        12.4.2 Round-Trippingアンチパターン
        12.4.3 Stateful When Stateless Will Doアンチパターン

付録A プレゼンテーション層のパターン
    A.1 アーキテクチャパターン
    A.2 高度なアーキテクチャパターン
    A.3 スケーラビリティパターン

付録B ビジネス層のパターン
    B.1 ビジネス層のパターン
    B.2 データ転送パターン
    B.3 データベースパターン
    B.4 ビジネス層インタフェースパターン
    B.5 並列処理パターン

付録C メッセージングパターン
    C.1 メッセージ配信パターン
    C.2 メッセージクライアントパターン
    C.3 メッセージング統合パターン

付録D J2EEアンチパターン
    D.1 アーキテクチャのアンチパターン
    D.2 プレゼンテーション層のアンチパターン
    D.3 ビジネス層のアンチパターン


索引