Skip to main content

2017 | Buch

Object-Oriented Design with ABAP

A Practical Approach

insite
SUCHEN

Über dieses Buch

Conquer your fear and anxiety learning how the concepts behind object-oriented design apply to the ABAP programming environment. Through simple examples and metaphors this book demystifies the object-oriented programming model.

Object-Oriented Design with ABAP presents a bridge from the familiar procedural style of ABAP to the unfamiliar object-oriented style, taking you by the hand and leading you through the difficulties associated with learning these concepts, covering not only the nuances of using object-oriented principles in ABAP software design but also revealing the reasons why these concepts have become embraced throughout the software development industry. More than simply knowing how to use various object-oriented techniques, you'll also be able to determine whether a technique is applicable to the task the software addresses. This book:

Shows how object-oriented principles apply to ABAP program design

Provides the basics for creating component design diagrams

Teaches how to incorporate design patterns in ABAP programs

What You’ll Learn

Write ABAP code using the object-oriented model as comfortably and easily as using the procedural model

Create ABAP design diagrams based on the Unified Modeling Language

Implement object-oriented design patterns into ABAP programs

Reap the benefits of spending less time designing and maintaining ABAP programs

Recognize those situations where design patterns can be most helpful

Avoid long and exhausting searches for the cause of bugs in ABAP programs

Who This Book Is For

Experienced ABAP programmers who remain unfamiliar with the design potential presented by the object-oriented aspect of the language

></div>

Inhaltsverzeichnis

Frontmatter

Understanding the Concepts of Object-Oriented Design

Frontmatter
Chapter 1. Preparing to Take the First Step

Object-oriented design offers many new concepts for you to explore, so you will want to be certain you've taken the necessary precautions to insure a successful expedition into this new realm. Accordingly, take a moment to prepare yourself for the adventure you are about to undertake, to pause and give consideration to both the journey itself and the expectations you have about what you will encounter along the way.

James E. McDonough
Chapter 2. The Elements of Object-Oriented Programming

The associated concepts are applicable to virtually all object-oriented languages, so you will not see anything specific to ABAP in this chapter. Some new vocabulary will be introduced to describe the corresponding concepts and some suggestions will be presented for how to approach the task of extracting design information from the paragraphs found in associated requirements documentation.

James E. McDonough
Chapter 3. Encapsulation

You’ll start your journey to Objectropolis from the perspective of Encapsulation, largely because this is the object-oriented design concept with which most procedural programmers already are familiar.

James E. McDonough
Chapter 4. Abstraction

The next stop on your journey to Objectropolis takes you from Encapsulation to a place called Abstraction.

James E. McDonough
Chapter 5. Inheritance

The next stop on your journey to Objectropolis takes you from Abstraction to a place called Inheritance.

James E. McDonough
Chapter 6. Polymorphism

The next stop on your journey to Objectropolis takes you from Inheritance to a place called Polymorphism.

James E. McDonough
Chapter 7. Interfaces

The ubiquitous GUI interface enables people to interact with a software system. Many ABAP programmers are familiar with the acronym RICEF, in which the “I” represents Interfaces and most often is associated with data exchanges with external systems.

James E. McDonough
Chapter 8. Welcome to Objectropolis

It has been a long and winding road from Procedureton, but finally you have reached your destination of Objectropolis.

James E. McDonough

Communicating Design Through Design Diagrams

Frontmatter
Chapter 9. Introduction to the Unified Modeling Language

You are about to leave the terrain provided by the basic principles of object-oriented design over which you traveled to arrive in Objectropolis and to reach for the stars in the galaxy known as Design Patterns. You need to acquire some expertise with celestial mapping and cosmic diagramming to help you navigate through this expanse. The Unified Modeling Language provides you with this skill.

James E. McDonough

Leveraging Object-Oriented Concepts Through Design Patterns

Frontmatter
Chapter 10. Design Patterns

Now that you know the basic principles of object-oriented design and have become familiar with the class diagrams offered by the Unified Modeling Language, you are now ready to begin your exploration of the galaxy known as Design Patterns.

James E. McDonough
Chapter 11. Singleton Design Pattern

YYou will find this design pattern useful when you need to guarantee that there is only a single instance of a class available during execution.

James E. McDonough
Chapter 12. Strategy Design Pattern

A Swiss Army Knife is a versatile, foldable, pocket-sized, multi-tool utility containing a variety of pivoting attachments suitable for use in everyday circumstances. Its handle is shaped to offer both comfort and dexterity to the person using it.

James E. McDonough
Chapter 13. Observer Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Observer design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful in situations where one class needs to be kept aware of changes occurring in another class.

James E. McDonough
Chapter 14. Factory Design Patterns

The next stop on your voyage through the Design Patterns galaxy takes you to the Factory patterns, a collection of three distinct patterns (only two of which are found in the GoF catalog). You will find these design patterns useful to simplify the creation of class instances.

James E. McDonough
Chapter 15. Adapter Design Pattern

The next stop on our voyage through the Design Patterns galaxy takes us to the Adapter design pattern, another of the design patterns found in the GoF catalog. We will find this design pattern most useful once the maintenance cycle has begun on software components.

James E. McDonough
Chapter 16. Decorator Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Decorator design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful in dynamically applying additional responsibilities to objects.

James E. McDonough
Chapter 17. Chain of Responsibility Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Chain of Responsibility design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful when you need to perform specific processing but want to avoid tight coupling between the requester and the servicer.

James E. McDonough
Chapter 18. Iterator Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Iterator design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful when you need to access the elements of a structure sequentially without having to know the representation of those elements.

James E. McDonough
Chapter 19. Template Method Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Template Method design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful when you need to establish a fixed sequence of steps while allowing for some flexibility in their implementation.

James E. McDonough
Chapter 20. Command Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Command design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful when you want to trigger the execution of an activity without having to know what the activity is.

James E. McDonough
Chapter 21. Null Object Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Null Object design pattern, the first of two design patterns you'll encounter that are not registered in the GoF catalog. You will find this design pattern useful in reducing conditional logic.

James E. McDonough
Chapter 22. State Design Pattern

The next stop on our voyage through the Design Patterns galaxy takes us to the State design pattern, another of the design patterns found in the GoF catalog. We will find this design pattern useful when we need to make an object behave differently based on its internal state.

James E. McDonough
Chapter 23. Lazy Initialization Technique

The next stop on your voyage through the Design Patterns galaxy takes you to the Lazy Initialization technique, the second of two design patterns you'll encounter that is not registered in the GoF catalog. You will find this design pattern useful in optimizing components.

James E. McDonough
Chapter 24. Flyweight Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Flyweight design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful in optimizing components.

James E. McDonough
Chapter 25. Memento Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Memento design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern useful when you need to be able to reset the internal state of an object to some previous setting.

James E. McDonough
Chapter 26. Visitor Design Pattern

The next stop on your voyage through the Design Patterns galaxy takes you to the Visitor design pattern, another of the design patterns found in the GoF catalog. You will find this design pattern most useful once the maintenance cycle has begun on software components.

James E. McDonough
Chapter 27. Design Anti-Patterns

The next stop on your galaxy quest through Design Patterns takes you to the alternative universe known as Design Anti-Patterns. Nothing from this region is registered in the GoF catalog.

James E. McDonough
Chapter 28. Solidifying Robust Design Habits

Much has been learned over the years about what constitutes good object-oriented design, some of which has been gained at the expense of object-oriented pioneers, who, through trial and error, have discovered cases of poor design and have shared their knowledge with those of us who otherwise would find out the hard way why some designs are not viable.

James E. McDonough
Chapter 29. Where No One Has Gone Before

Congratulations! You have reached the end of this book. If you have also been diligent in keeping current with the exercises, then perhaps you are able to reflect upon all your hard work and recognize all the new concepts you have not only learned but also reinforced through the exercises. Perhaps you have even experienced some of your own Aha! moments when an elusive object-oriented concept finally became clear for you.

James E. McDonough
Appendix A. Comparison of Capabilities Between Function Groups and Classes

Table A-1 shows the comparison of capabilities offered by ABAP function groups and ABAP object-oriented classes. The √ symbol denotes support for the capability, while the Ø symbol denotes no support.

James E. McDonough
Appendix B. Requirements Documentation and ABAP Exercise Programs

A zip file available for download at

James E. McDonough
Backmatter
Metadaten
Titel
Object-Oriented Design with ABAP
verfasst von
James E. McDonough
Copyright-Jahr
2017
Verlag
Apress
Electronic ISBN
978-1-4842-2838-8
Print ISBN
978-1-4842-2837-1
DOI
https://doi.org/10.1007/978-1-4842-2838-8