Object-Oriented Software Development Using Java (Hardcover)
Object-Oriented Software Development in Java provides broad and coherent coverage of object-oriented technology, teaching object-oriented design and construction using Java to students with some experience programming in any language. Focusing on design and programming, educator and practitioner Xiaoping Jia instills the object-oriented way of thinking through the use of design patterns and frameworks, study of the design of the Java Class Libraries, and illustration of incremental software development.
With the popularity of C++ and Java, program design has become as important to individual commercial programmers as it has been to programmers developing immense government-sponsored software projects. Designed for a course on object-oriented design at the Junior-, Senior-, and Graduate-level, Object-Oriented Software Development in Java prepares students for the industry's move toward object-oriented languages by introducing design concepts early and then moving on to Java.
- Features an applied focus which develops software design skills, particularly skill in writing medium-sized, well-designed object-oriented programs.
- Uses the Java 2 platform, including coverage of Swing, collections, and RMI.
- Covers object-oriented modeling using UML, object-oriented design using design patterns, and object-oriented programming using Java.
- Includes an introduction to software engineering and how object-oriented developments fit into the software engineering process.
- Discusses topics of interest for both academia and industry, such as graphical user interfaces, concurrent programming, and distributed computing.
- Provides a balanced view of object-oriented software development from different perspectives: academia and industry, theory and practice.
The Desirable Qualities of Software Systems.
A View of the World.
Principles and Concepts.
Abstraction and Encapsulation.
Modeling Dynamic Behavior.
Case Study: An On-Line Bookstore.
2. Introduction to Java.
3. Elements of Java.
Primitive Types and Literals.
Operators and Expressions.
Variables and Types.
Type Compatibility and Conversion.
Creating and Initializing Objects.
Method Invocation and Parameter Passing.
Static Fields and Methods.
Interfaces and Abstract Classes.
A Simple Animation Applet.
4. Classes and Inheritance.
Subtypes and Polymorphism.
Extending and Implementing Interfaces.
Hiding Fields and Static Methods.
Separating Interface From Implementation.
The Canonical Form.
Applications - Animation Applets.
An Idiom for Animation.
Reading Files In Applets.
5. Design by Abstraction.
Designing Generic Components.
Design Case Study: Sorting Animation.
Separating the Algorithms.
Separating the Display Strategies.
6. Object-Oriented Application Frameworks.
The Collections Framework.
Interfaces of Collections.
Implementations of Collections.
Ordering and Sorting.
The Graphical User Interface Framework.
Frames and Dialogs.
The Input/Output Framework.
The Character Streams.
Random Access Files.
7. Design Case Study: A Drawing Pad.
Iteration 1: A Simple Scribbling Pad.
Iteration 2: The Control Panel.
Iteration 3: The Drawing Tools.
Iteration 4: More Tools.
Drawing Filled Shapes.
8. Concurrent Programming.
Thread Safety and Liveness.
Cooperation Among Threads.
Design Case Study: Tic-Tac-Toe Game.
9. Distributed Computing.
Servers and Clients Using Sockets.
Design Case Study.
Remote Method Invocation.
Design Case Study.
Distributed Computing with Non-Java Applications.
Common Object Request Broker Architecture.
- Online Source Code
See "CS Supplement List" on PIRL for more information.