Object-oriented software development has matured significantly over the past several years. The convergence of object-oriented modeling techniques and notations, the development of object-oriented frameworks and design patterns, and the evolution of object-oriented programming languages have been essential in the progression of this technology. Object-Oriented Software Development in Java: Styles, Patterns, and Frameworks focuses on developing skills in designing software-particularly in writing well-designed, medium-sized object-oriented programs. It provides a broad and coherent coverage of object-oriented technology, including object-oriented modeling using the Unified Modeling Language (UML), object-oriented design using Design Patterns, and object-oriented programming using Java. The book uses the Java 2 platform throughout, introducing such topics as Swing, collections, and RMI. The material is presented from both a theoretical and a practical perspective, instilling the object-oriented way of thinking through the use of design patterns, exploration of the design of the Java Class Libraries, and illustration of incremental software development. 020135084XB04062001
Object-oriented software development has matured significantly over the past several years. The convergence of object-oriented modeling techniques and notations, the development of object-oriented frameworks and design patterns, and the evolution of object-oriented programming languages have been essential in the progression of this technology. Object-Oriented Software Development in Java: Styles, Patterns, and Frameworks focuses on developing skills in designing software-particularly in writing well-designed, medium-sized object-oriented programs. It provides a broad and coherent coverage of object-oriented technology, including object-oriented modeling using the Unified Modeling Language (UML), object-oriented design using Design Patterns, and object-oriented programming using Java. The book uses the Java 2 platform throughout, introducing such topics as Swing, collections, and RMI. The material is presented from both a theoretical and a practical perspective, instilling the object-oriented way of thinking through the use of design patterns, exploration of the design of the Java Class Libraries, and illustration of incremental software development. 020135084XB04062001
1. Object-Oriented Software Development.
Software Development.An Engineering Perspective.The Desirable
Qualities of Software Systems.A View of the World.Principles and
Concepts.Classes and Objects.Modularity.Abstraction and
Encapsulation.Inheritance.Association.Modeling Dynamic
Behavior.Object-Oriented Development.The Micro and Macro
Processes.Case Study: An On-Line Bookstore.
2. Introduction to Java.
The Architecture of Java.Simple Programs.A Simple App.Simple
Applet.
3. Elements of Java.
Lexical Elements.Character Set.Identifiers.Primitive Types and
Literals.Operators and Expressions.Variables and Types.Variable
Declarations.Type Compatibility and Conversion.Reference
Types.Arrays.Statements.Statement Labels.Statement Blocks.Simple
Statements.Compound Statements.Multi-Level Breaking.Class
Declarations.Class Syntax.Creating and Initializing
Objects.Accessing Members.Method Invocation and Parameter
Passing.Static Fields and Methods.Object Reference.Interfaces and
Abstract Classes.Strings.Wrapper ClassesPackages.Exceptions.A
Simple Animation Applet.
4. Classes and Inheritance.
Overloading.Inheritance.Constructors of Extended Classes.Subtypes
and Polymorphism.Overriding Methods.Restriction.Extending and
Implementing Interfaces.Hiding Fields and Static Methods.Designing
Classes.Avoiding Public Fields.Separating Interface From
Implementation.File Organization.The Canonical Form.Class
Organization.Documentation.Unit Testing.Applications - Animation
Applets.Getting Parameters.An Idiom for Animation.Using
Double-Buffering.Reading Files In Applets.
5. Design by Abstraction.
Design Patterns.Designing Generic
Components.Factorization.Generalization.Abstract Coupling.Design
Case Study: Sorting Animation.The Initial Implementation.Separating
the Algorithms.Separating the Display Strategies.
6. Object-Oriented Application Frameworks.
Application Frameworks.The Collections Framework.Abstract
Collections.Interfaces of Collections.Implementations of
Collections.Iteration.Ordering and Sorting.The Graphical User
Interface Framework.The Widgets.Layout Managers.Handing
Events.Frames and Dialogs.The Input/Output Framework.The Byte
Streams.The Character Streams.Random Access Files.
7. Design Case Study: A Drawing Pad.
Iterative Development.Iteration 1: A Simple Scribbling
Pad.Iteration 2: The Control Panel.Iteration 3: The Drawing
Tools.Iteration 4: More Tools.Handling The Keyboard Input.Drawing
Filled Shapes.
8. Concurrent Programming.
Threads.Creation of Threads.Controlling Threads.Thread Safety and
Liveness.Synchronization.Cooperation Among Threads.Liveness
Failures.Design Case Study: Tic-Tac-Toe Game.
9. Distributed Computing.
Socket-Based Communication.Server and Client Sockets.Servers and
Clients Using Sockets.Design Case Study.Remote Method
Invocation.The Architecture.Using RMI.Design Case Study.Distributed
Computing with Non-Java Applications.Java Database
Connectivity.Common Object Request Broker Architecture.
Glossary. 020135084XT04062001
Xiaoping Jia is an Associate Professor of Software
Engineering and the Director of the Division of Software
Engineering, School of Computer Science, Telecommunications, and
Information Systems at De Paul University. His primary research
interests are applications of formal methods and object-oriented
development methodologies. He has authored several software
development tools and is a consultant in GUI design and web-based
applications using Java. He is the founder of Aesthetic Software, a
company that focuses on developing technologies for web-based
application using Java and XML. Professor Jia received his Ph.D. in
computer science from Northwestern University.
020135084XAB04062001
![]() |
Ask a Question About this Product More... |
![]() |