ebook img

Software Architecture Design Patterns in Java PDF

476 Pages·2004·2.63 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Software Architecture Design Patterns in Java

Software Architecture Design Patterns in Java © 2004 by CRC Press LLC Other CRC/Auerbach Publications in Software Development, Software Engineering, and Project Management The Complete Project Management Six Sigma Software Development Office Handbook Christine Tanytor Gerard M. Hill 0-8493-1193-4 0-8493-2173-5 Software Architecture Design Patterns Complex IT Project Management: 16 Steps in Java to Success Partha Kuchana Peter Schulte 0-8493-2142-5 0-8493-1932-3 Software Configuration Management Creating Components: Object Oriented, Jessica Keyes Concurrent, and Distributed Computing 0-8493-1976-5 in Java Software Engineering for Image Processing Charles W. Kann Phillip A. Laplante 0-8493-1499-2 0-8493-1376-7 Dynamic Software Development: Software Engineering Handbook Manging Projects in Flux Jessica Keyes Timothy Wells 0-8493-1479-8 0-8493-129-2 Software Engineering Measurement The Hands-On Project Office: Guaranteeing John C. Munson ROI and On-Time Delivery 0-8493-1503-4 Richard M. Kesner Software Engineering Processes: Principles 0-8493-1991-9 and Applications Interpreting the CMMI®: A Process Yinxu Wang, Graham King, and Saba Zamir Improvement Approach 0-8493-2366-5 Margaret Kulpa and Kent Johnson Software Metrics: A Guide to Planning, 0-8493-1654-5 Analysis, and Application Introduction to Software Engineering C.R. Pandian Ronald Leach 0-8493-1661-8 0-8493-1445-3 Software Testing: A Craftsman’s Approach, 2e ISO 9001:2000 for Software and Systems Providers: An Engineering Approach Paul C. Jorgensen 0-8493-0809-7 Robert Bamford and William John Deibler II 0-8493-2063-1 Software Testing and Continuous Quality Improvement, Second Edition The Laws of Software Process: William E. Lewis A New Model for the Production 0-8493-2524-2 and Management of Software Phillip G. Armour IS Management Handbook, 8th Edition 0-8493-1489-5 Carol V. Brown and Heikki Topi, Editors 0-8493-1595-9 Real Process Improvement Using the CMMI® Lightweight Enterprise Architectures Michael West Fenix Theuerkorn 0-8493-2109-3 0-9493-2114-X AUERBACH PUBLICATIONS www.auerbach-publications.com To Order Call: 1-800-272-7737 • Fax: 1-800-374-3401 E-mail: [email protected] © 2004 by CRC Press LLC Sof t ware Architecture Design Patterns in Java Partha Kuchana AUERBACH PUBLICATIONS A CRC Press Company Boca Raton London New York Washington, D.C. © 2004 by CRC Press LLC Library of Congress Cataloging-in-Publication Data Kuchana, Partha. Software architecture design patterns in Java / Partha Kuchana. p. cm. Includes bibliographical references and index. ISBN 0-8493-2142-5 (alk. paper) 1. Java (Computer program language) 2. Computer Software. 3. Computer architecture. 4. Software patterns. I. Title. QA76.73.J38K83 2004 005.13′3—dc22 2003070897 This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the consequences of their use. Neither this book nor any part may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, microfilming, and recording, or by any information storage or retrieval system, without prior permission in writing from the publisher. The consent of CRC Press LLC does not extend to copying for general distribution, for promotion, for creating new works, or for resale. Specific permission must be obtained in writing from CRC Press LLC for such copying. Direct all inquiries to CRC Press LLC, 2000 N.W. Corporate Blvd., Boca Raton, Florida 33431. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation, without intent to infringe. Visit the Auerbach Publications Web site at www.auerbach-publications.com © 2004 by CRC Press LLC Auerbach is an imprint of CRC Press LLC No claim to original U.S. Government works International Standard Book Number 0-8493-2142-5 Library of Congress Card Number 2003070897 Printed in the United States of America 1 2 3 4 5 6 7 8 9 0 Printed on acid-free paper © 2004 by CRC Press LLC DEDICATION To my family © 2004 by CRC Press LLC CONTENTS SECTION I: AN INTRODUCTION TO DESIGN PATTERNS 1 Design Patterns: Origin and History Architectural to Software Design Patterns What Is a Design Pattern? More about Design Patterns About This Book Source Code Source Code Disclaimer SECTION II: UNIFIED MODELING LANGUAGE (UML) 2 UML: A Quick Reference Structure Diagrams Behavior Diagrams Model Management Diagrams Class Diagrams Class Inner Class Access Specifiers Static Abstract Class/Method Exception Note Generalization Interface Realization Dependency Class Association Multiplicity Navigability Composition Aggregation Sequence Diagrams Object Message Self Call © 2004 by CRC Press LLC SECTION III: BASIC PATTERNS 3 Interface Description Example Practice Questions 4 Abstract Parent Class Description Example Abstract Parent Class versus Interface Practice Questions 5 Private Methods Description Example Practice Questions 6 Accessor Methods Description Accessor Method Nomenclature Example Direct Reference versus Accessor Methods Practice Questions 7 Constant Data Manager Description Example Practice Questions 8 Immutable Object Description Example Practice Questions 9 Monitor Description Example Practice Questions SECTION IV: CREATIONAL PATTERNS 10 Factory Method Description Example Practice Questions 11 Singleton Description Who Should Be Responsible? Example Make the Constructor Private Static Public Interface to Access an Instance Practice Questions © 2004 by CRC Press LLC 12 Abstract Factory Description Abstract Factory versus Factory Method Example I Example II Logical Flow When the Application Is Run Practice Questions 13 Prototype Description Shallow Copy versus Deep Copy Shallow Copy Example Deep Copy Example Example I Design Highlights of the HostingPlanKit Class Example II Redesign the UserAccount Class Create a Prototype Factory Class Practice Questions 14 Builder Description Example I A Side Note Back to the Example Application Example II Example III Practice Questions SECTION V: COLLECTIONAL PATTERNS 15 Composite Description Example Design Approach I FileComponent getComponentSize() DirComponent addComponent(FileSystemComponent) getComponent(int) getComponentSize() Design Approach II Practice Questions 16 Iterator Description Iterators in Java Filtered Iterators Internal versus External Iterators Example: Internal Iterator Client/Container Interaction Example: External Filtered Iterator Practice Questions © 2004 by CRC Press LLC 17 Flyweight Description How to Design a Flyweight in Java Design Highlights Example Design Approach I Design Approach II Practice Questions 18 Visitor Description Design Idea 1 Design Idea 2 Defining New Operations on the Object Collection Adding Objects of a New Type to the Collection Example Design Approach I Design Approach II Design Approach III (Composite Pattern) Design Approach IV (The Visitor Pattern) Application Flow Defining a New Operation on the Order Object Collection Adding a New Order Type to the Collection Practice Questions SECTION VI: STRUCTURAL PATTERNS 19 Decorator Description Characteristics of a Decorator Example Concrete Logger Decorators HTMLLogger EncryptLogger Adding a New Message Logger Adding a New Decorator Practice Questions 20 Adapter Description Class Adapters versus Object Adapters Class Adapter Object Adapter Example Address Adapter as an Object Adapter Practice Questions 21 Chain of Responsibility Description Example Practice Questions © 2004 by CRC Press LLC

Description:
Six Sigma Software Development. Christine Tanytor. 0-8493-1193-4. Software Architecture Design Patterns in Java. Partha Kuchana. 0-8493-2142-5.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.