Essence of Object-Oriented Programming with Java™ and UML, The -  Paul Becker, Bruce Wampler  Ph.D.

Essence of Object-Oriented Programming with Java™ and UML, The

Buch | Softcover
320 Seiten
2002
Addison Wesley (Verlag)
978-0-201-73410-2 (ISBN)
55,55 inkl. MwSt
This introduction to the basics of object-oriented programming and the Unified Modeling Language (UML) will give students a firm foundation on which to build high-quality software systems that reap the full benefit of an object-oriented approach.
This book can give any Java developer -- regardless of experience -- the firm foundation they need to achieve the full benefits of object-oriented programming. The book combines practical introductions to UML, object-oriented methodologies, design patterns, libraries, and frameworks -- giving developers all the skills they need to begin writing robust object-oriented programs -- and to tackle the entire field of object-oriented development. Leading developer Bruce Wampler begins with a brief introduction to objects and their benefits; then introduces the fundamental concepts of object orientation and shows how they can be implemented in Java -- starting with the basics, and moving on to advanced topics such as object lifetime and copies of objects. He moves on to Object-Oriented Analysis and Design, introducing the essential concepts at the heart of every methodology. Next, he presents the essence of today's leading techniques for building effective object-oriented Java systems -- including design patterns, refactoring, and more. Wampler concludes by drawing on his decades of development experience to share powerful personal guidelines for creating more effective software. For all application developers who know at least the basics of Java, and are seeking to strengthen their object-oriented programming skills.

Bruce E. Wampler, founder and CEO of Object Central, was a pioneer in developing spelling and grammar checking software for personal computers, and the co-founder of Reference Software International, which was later acquired by WordPerfect. During his extensive career, he has worked at Sandia National Laboratory and taught at the University of New Mexico. He has also developed and delivered many successful, real-world applications, and several widely used open source object-oriented programming tools. 0201734109AB10122001

(NOTE: Most chapters conclude with a Summary.)

Preface.


Acknowlegements.


1. Objects, UML, and Java.


Object Orientation.



Object-Oriented Languages.



Object-Oriented Design and the UML.



The Payoff of Objects.



2. The Essence of Objects.


What Is an Object-Oriented System?



Fundamental Properties of an Object-Oriented System.



Abstraction with Objects.



Encapsulated Classes.



Communication via Messages.



Object Lifetime.



Class Hierarchies.



Polymorphism.



An Example—Putting it All Together.



Other OO Concepts.



Abstract Classes.



Visibility of Methods.



Class versus Instance.



Accessing Objects.



A Low-Level View of Objects.



Resources.



3. Objects in Java.


Defining Classes in Java.



Visibility.



Inheritance.



Association, Aggregation, and Composition.



Java Interfaces.



Object Lifetime in Java.



Constructors.



Garbage Collection.



Memory Leaks.



Class versus Instance Methods and Attributes.



Copies of Objects.



Messages.



Resources.



4. Object-Oriented Analysis and Design.


Software Methodologies.



The Elements of a Software Project 84



The Essence of Object-Oriented Analysis.



Object Discovery.



Evaluate Candidate Objects.



Determine Object Hierarchies.



Discover Object Attributes.



Discover Object Operations.



The Essence of Object-Oriented Design.



Some Design Guidelines.



Get the Big Picture.



Encapsulation.



Designing Classes.



Inheritance.



General Guidelines.



The Build and Release Phases.



Building the Software.



Releasing the Software.



More on the UML.



Resources.



5. Object-Oriented Graphical User Interfaces with Swing.


Graphical User Interfaces.



A Typical Application.



Dialog Boxes.



Events.



A Brief Introduction to Swing.



MVC: Model, View, Controller.



MVC with Java.



A Small Swing MVC GUI Framework.



A Simple Application Based on Wmvc.



UML Sequence Diagram for Thermometer.



Resources.



6. A Case Study in Java.


Analysis of MovieCat.



Movie Class.



MovieModel Class. View Classes.



Putting It All Together.



Implementation of MovieCat.



Design of MovieCat.



MovieCat Class.



Movie Class.



MovieModel Class.



MainView Class.



MovieListView Class.



MovieItemView Class.



MovieEditor Class.



Movie Helper Classes.



Review.



7. Design Patterns.


What are Design Patterns?



using Design Patterns.



Designing Pattern Description Templates.



The Gang of Four Patterns.



Example Design Patterns Used by Wmvc and MovieCat.



Observer Pattern.



Observer Pattern in Wmvc.



Command Pattern in Wmvc.



Other Patterns Used in Wmvc and MovieCat.



Resources.



8. Refactoring.


What Is Refactoring?



The Basic Refactoring Process.



When do You Refactor?



Code Smells.



When Not to Refactor.



Some Refactorings.



Refactoring Categories.



Some Refactorings.



Refactoring Categories.



Some Specific Refactorings.



Resources.



9. Software Development Methodologies.


Methodologies for Large Scale Projects.



Overview of the Unified Process



Basic Concepts.



Agile Methodologies for Small Projects.



Agile Alliance.



Extreme Programming.



DSDM.



Crystal/Adaptive Software Development.



Source Development.



Open Source Development.



Open Source Is Distributed Development



Resources.



10. Software Tools for Object-Oriented Development.


GUIs versus Consoles.



Characteristics of a Good Editor.



Three Types of Editors.



Emacs.



Integrated Development Environments.



VIDE.



Borland JBuilder.



Sun Forte.



Another IDE.



Source-Code Control.



CASE, Modeling, and UML Tools.



ArgoUML.



MagicDraw.



Rational Software.



TogetherSoft.



Other UML Tools.



11. Programming—A Personal Perspective.


Programming.



Your Code Never Dies.



Programming with Style.



Know What You are Doing.



Write Practice Programs.



Practical Incremental Programming.



The Tools Matter.



Objects Rally Help.



Testing.



Debugging.



Don't Reinvent the Wheel.



Sometimes It Is Better to Do It Yourself.



You Can Get Ideas Any Time.



Get a Life.



A Plan Matters.



The Tools.



Your Editor Really Matters.



Know About the Time-Tested Tools.



Know About the Latest Tools.



Tools Go Away.



The Work Environment.



A Happy Programmer Is a Productive Programmer.



Physical Environment.



Flexibility.



40 Hours.



The Team.



Marketing Matters.



Keep Up-to-Date.



Share the Struggle.



Let Programmers Help Make Policy.



Let Your Boss Know What You Need.



The Reference Software Story.



Programming Resources.



Use the Web.



Watch Out for the Web.



Use Open Source if You Can.



Other Programmers.



Web Sites.



12. What Next?


Object Orientation.



Java.



More Terms You Need to Know.



Distributed Computing Terms.



Java-Related Terms from Sun.



Other Terms.



Glossary.


Index. 0201734109T12052001

Erscheint lt. Verlag 9.1.2002
Verlagsort Harlow
Sprache englisch
Maße 160 x 189 mm
Gewicht 530 g
Themenwelt Informatik Programmiersprachen / -werkzeuge Java
Mathematik / Informatik Informatik Web / Internet
ISBN-10 0-201-73410-9 / 0201734109
ISBN-13 978-0-201-73410-2 / 9780201734102
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
mit über 150 Workouts in Java und Python

von Luigi Lo Iacono; Stephan Wiefling; Michael Schneider

Buch (2023)
Carl Hanser (Verlag)
29,99
Einführung, Ausbildung, Praxis

von Christian Ullenboom

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90