Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen

Beginning Java Objects

84,99 €*

Lieferzeit Sofort lieferbar

Format auswählen
Produkt Anzahl: Gib den gewünschten Wert ein oder benutze die Schaltflächen um die Anzahl zu erhöhen oder zu reduzieren.
Beginning Java Objects, Apress
From Concepts to Code
Von Jacquie Barker, im heise Shop in digitaler Fassung erhältlich

Produktinformationen "Beginning Java Objects"

Learning to design objects effectively with Java is the goal of Beginning Java Objects: From Concepts to Code, Second Edition. Plenty of titles dig into the Java language in massive detail, but this one takes the unique approach of stepping back and looking at fundamental object concepts first. Mastery of Java—from understanding the basic language features to building complete industrial-strength Java applications—emerges only after a thorough tour of thinking in objects.

The first edition of _Beginning Java Objects_ has been a bestseller; this second edition includes material on the key features of J2SE 5, conceptual introductions to JDBC and J2EE, and an in-depth treatment of the critical design principles of model-data layer separation and model-view separation.

Despite the plethora of beginning Java titles on the market, this book is truly unique in its coverage of three critical topic—sobject concepts, UML modeling, and Java programming—within a single cover. It’s ideal for both individual self-study and as a university-level textbook. Let Beginning Java Objects, Second Edition be your guide!

JACQUIE BARKER is a professional software engineer, author, and former adjunct faculty member at both George Mason University in Fairfax, VA and The George Washington University in Washington, DC. With over 30 years of experience as a software developer and project manager, Jacquie has spent the past 15 years focused on object technology, and is proficient as an object modeler and Sun Microsystems Certified Java programmer.

Jacquie earned a bachelor of science degree in computer engineering with highest honors from Case Institute of Technology/Case Western Reserve University in Cleveland, Ohio, and a master of science degree in computer science, emphasizing software systems engineering, from the University of California, Los Angeles. She has subsequently pursued postgraduate studies in information technology at George Mason University in Fairfax, VA. Jacquie’s winning formula for teaching object fundamentals continues to receive praise from readers around the world, and her Apress book Beginning Java Objects: From Concepts to Code has been adopted by many universities as a key textbook in their core IT curricula.

On a personal note, Jacquie’s passions include her husband Steve and their three cats Walter, Rocky, and Tanner; serving as founder and executive director of Pets Bring Joy, a 501(c)(3) non-profit animal rescue organization (pbj.org); and her recent launch of a pro bono IT consulting service for start-up non profits (probonoit.org).

Part I: The ABCs of Objects

Chapter 1: Abstraction and Modeling

Chapter Goal: Introducing the mechanism of abstraction as a natural way for humans to interpret the world, and how this relates to object modeling in the software realm.

Subtopics:

• Simplification through abstraction

• Generalization through abstraction

• Reusing abstractions

Chapter 2: Some Java Basics

Chapter Goal: Provide the reader with an immediate introduction to Java language fundamentals so that object concepts can be illustrated using Java code examples as soon as we begin introducing them in chapter 3.

Subtopics:

• Strengths of the Java language

• Primitive Java types

• The anatomy of a Java program

• Mechanics of compiling and running a Java program

• Java’s block structured nature

• Elements of Java programming style

Chapter 3: Objects and Classes

Chapter Goal: Explain the basic building blocks of an OO application – classes as mini-abstractions aka templates for creating object instances.

Subtopics:

• Advantages of an OO approach to software development over a non-OO approach

• How classes are used to specify a type of object’s data

• How objects are created (instantiated) at run time

• The use of reference variables to refer to objects symbolically

Chapter 4: Object Interactions

Chapter Goal: Explain how object behaviors are defined as methods within classes, and how objects collaborate by invoking one another’s methods to accomplish the overall mission of the system.

Subtopics:

• How methods are used to specify an object’s behaviors• The anatomy of a Java method

• How objects send messages to one another to accomplish collaboration

• How classes use public and private visibility to publicize what services a type of object can perform while hiding both the logic for how the service is accomplished and the internal data structure needed to support the service

• The use of constructors to instantiate the state of an object when first instantiated

Chapter 5: Relationships Between Objects

Chapter Goal: Explains the notion of a structural relationship between two objects, wherein the data structures of the classes to which they belong are designed to maintain lasting relationships between objects once instantiated. The two main approaches to accomplishing this are (a) encoding associations between two classes of objects as reference variables within their data structures, (b) having one class inherit and extend the capabilities of another.

Subtopics:

• Types of structural relationships maintained by objects: associations, aggregations, inheritance

• The inheritance mechanism, and guidelines for what we can and cannot achieve when deriving new classes via inheritance

• Revisiting constructors regarding some complexities that must be understood when inheritance is involved

Chapter 6: Collections of Objects

Chapter Goal: Introduce a special category of objects (classes) known as collections, to be used for efficiently managing an indefinite number of objects of the same type.

Subtopics:

• The properties of three generic collection types: ordered lists, sets, and dictionaries• The specifics of several different commonly-used built-in Java collection types

• The concept of Java packages as logical groupings of classes, and the use of import statements

• The power of collections in modeling very sophisticated real-world scenarios

• Design techniques for programmer-defined collection types

Chapter 7: Some Final Object Concepts

Chapter Goal: Covers several key but often misunderstood advanced language features that are essential to taking full advantage of Java’s object-oriented nature: polymorphism (how a single line of code representing a method invocation can exhibit a variety of different behaviors at run time); abstract methods, classes, and interfaces; and static features (data/methods belonging to an entire class of objects versus objects individually).

Subtopics:

• The runtime mechanism of polymorphism

• Abstract classes and methods

• The incredible power of interfaces in streamlining Java code

• Static features

Part II: Object Modeling 101Chapter 8: The Object Modeling Process in a Nutshell

Chapter Goal: A high-level overview of how to approach the requirements of a system so as to structure it from the ground up to take advantage of all of the strengths of an OO language like Java.

Subtopics:

• The goals of and philosophy begin object modeling

• Flexibility in terms of selecting or devising a modeling methodology

• The pros and cons of using object modeling software tools

Chapter 9: Formalizing Requirements Through Use Cases

Chapter Goal: Explains the importance of developing use cases when establishing requirements for an application, to ensure that (a) all categories of intended user are identified, (b) all of the services that each user category will expect the system to provide, and (c) what their expectations are of the desired outcome for each of the service types.

Subtopics:

• Introduction to use cases

• The notion of actors

• Involving users in defining use cases

• Approaches to documenting/diagramming use cases

Chapter 10: Modeling the Data Aspects of the System

Chapter Goal: Illustrate the process by which the types of classes, their respective data structures, and their interrelationships can be discovered and rendered graphically using UML notation.

Subtopics:

• Technique for identifying the appropriate classes and their respective attributes

• Technique for determining the structural relationships that exist among these classes

• How to graphically portray this information in proper UML notation

Chapter 11: Modeling the Behavioral Aspects of the System

Chapter Goal: Revisiting the evolving object model of chapter 10 to reflect the services/behaviors/methods required of each identified class to ensure that the overall requirements of the application will be satisfied.

Subtopics:

• How the behaviors (method execution) of an object affects its state (data)

• Developing scenarios for how use cases (defined in chapter 9) might play out

• Creating sequence diagrams based on scenarios

• Using sequence diagrams to determine methods

Chapter 12: Wrapping Up Our Modeling Efforts

Chapter Goal: This chapter focuses on ways to test a model before coding begins, as well as

Subtopics:

• Testing the model

• Revisiting requirements and adapting the model as necessary

• Reusing models in the form of design patterns

Part III: Translating an Object Blueprint into Java CodeChapter 13: A Few More Key Java Details (retitled from 2nd edition)

Chapter Goal: Covering a variety of important Java topics that were not essential to illustrating the object concepts of Part I per se, but which are nonetheless key to a rounding out a beginning level Java programmer’s facility with the language. I plan on eliminating a few sections from this chapter if I determine that any of the topics covered are *not* essential to understanding the Student Registration System (SRS) code of chapter 14.

Subtopics:

• Java application architecture, revisited

• Nature and purpose of Java Archive (JAR) files

• Java documentation comments

• Object nature of Strings

• Java enums (enumerations)

• Object self-referencing via the “this” keyword

• The nature of run-time exceptions, how to handle them, and how to define and use custom exception types

• Important features of the built-in Object class

• Techniques for command line input

• Remove: discussion of inner classes (no longer needed since we are eliminating the chapter on the Swing API)• Remove: narrative regarding Java version 5 language enhancements

Chapter 14: Transforming Your Model into Java Code

Chapter Goal: In this chapter, I pull together all that we’ve covered in Part I of the book to render the UML model created in Part II of the book into a complete, fully functioning model layer for the Student Registration System. This code can be run from the command line, and will be downloadable from the Apress website.

Subtopics: How to code …

• … associations of varying multiplicities (one-to-one, one-to-many, many-to-many)

• … inheritance relationships

• … association classes

• … reflexive associations• … abstract classes

• … metadata

• … static attributes and methods

Chapter 15: Three Tier Architectures: Considerations for Adding a User Interface and Data Layer to Your Application

Chapter Goal: Conceptually introduce the notion of model – presentation layer – data layer separation, using pseudocode examples to illustrate how these layers interact with the model layer code of chapter 14.

Subtopics:

• Overview of the power of model – presentation layer – data layer separation

• Concept of operations for the Student Registration System user interface

• Detailed walk-through of pseudocode illustrating (a) how the data layer is used to validate and persist model layer logic, (b) how the user interface/presentation layer is used to receive data and operational requests from a user

Artikel-Details

Anbieter:
Apress
Autor:
Jacquie Barker
Artikelnummer:
9781484290606
Veröffentlicht:
12.04.23