Muutke küpsiste eelistusi

Design Patterns in ABAP Objects [Kõva köide]

  • Formaat: Hardback, 387 pages, kõrgus x laius: 229x175 mm
  • Ilmumisaeg: 28-Oct-2016
  • Kirjastus: SAP Press
  • ISBN-10: 1493214640
  • ISBN-13: 9781493214648
Teised raamatud teemal:
  • Formaat: Hardback, 387 pages, kõrgus x laius: 229x175 mm
  • Ilmumisaeg: 28-Oct-2016
  • Kirjastus: SAP Press
  • ISBN-10: 1493214640
  • ISBN-13: 9781493214648
Teised raamatud teemal:
Use design patterns to step up your object-oriented ABAP game, starting with MVC! Want to create objects only when needed? Call objects only when required, minimizing runtime and memory costs? Reduce errors and effort by only coding an object once? Future-proof your code with a flexible design? Design patterns are the answer! With this guide, you'll get practical examples for every design pattern that will have you writing readable, flexible, and reusable code in no time! Creational Design Patterns: Create objects with the abstract factor, builder, factory, lazy initialization, multiton, prototype, and singleton design patterns. Structural Design Patterns: Allow objects to interact and work together without interdependency with the adapter, bridge, composite, data access object, decorator, facade, flyweight, property container, and proxy design patterns. Behavioral Design Patterns: Increase the flexibility of your object communication with the chain of responsibility, command, mediator, memento, observer, servant, state, strategy, template method, and visitor design patterns. Highlights:

MVC (model, view, controller) pattern Singleton pattern Factory pattern Builder pattern Observer pattern Visitor pattern Lazy initialization pattern Template method Strategy pattern Decorator pattern ABAP-specific examples Anti-patterns

Muu info

Highlights include: MVC (model, view, controller) pattern; Singleton pattern; Factory pattern; Builder pattern; Observer pattern; Visitor pattern; Lazy initialization pattern; Template method; Strategy pattern; Decorator pattern; ABAP-specific examples; Anti-patterns.
Preface 17(10)
Part I Architectural Design Patterns
1 MVC
27(12)
1.1 Case Study: Read, Process, Display, and Post
28(5)
1.2 Passing Select Options
33(1)
1.3 Distributing Application Logic
34(1)
1.4 Related Patterns
34(1)
1.5 Summary
35(4)
Part II Creational Design Patterns
2 Abstract Factory
39(10)
2.1 Case Study: Log Analysis
40(7)
2.2 Related Patterns
47(1)
2.3 Summary
47(2)
3 Builder
49(20)
3.1 Case Study: Jobs for Text Files
49(17)
3.2 When to Use
66(1)
3.3 Privacy
66(1)
3.4 Summary
67(2)
4 Factory
69(8)
4.1 Case Study: FI Documents for Parties
69(6)
4.2 Advantages
75(1)
4.3 Related Patterns
75(1)
4.4 Summary
76(1)
5 Lazy Initialization
77(6)
5.1 Case Study: Logging Errors
77(4)
5.2 Advantages
81(1)
5.3 Related Patterns
81(1)
5.4 Summary
82(1)
6 Multiton
83(8)
6.1 Case Study: Vendor Balance
84(4)
6.2 When to Use
88(1)
6.3 When to Avoid
88(1)
6.4 State Modification
89(1)
6.5 Summary
89(2)
7 Prototype
91(8)
7.1 Case Study: Item Clone
91(4)
7.2 Changing Class Properties
95(1)
7.3 Clone Operations
96(1)
7.4 Related Patterns
96(1)
7.5 Summary
97(2)
8 Singleton
99(10)
8.1 Case Study: Subcomponents
99(7)
8.2 Advantages and Disadvantages
106(1)
8.3 Related Patterns
106(1)
8.4 Summary
106(3)
Part III Structural Design Patterns
9 Adapter
109(14)
9.1 Case Study: Project Management Tools
109(9)
9.2 Glue Code
118(1)
9.3 Two-Way Adapters
118(4)
9.4 Legacy Classes
122(1)
9.5 Summary
122(1)
10 Bridge
123(10)
10.1 Case Study: Messaging Framework
123(8)
10.2 Advantages
131(1)
10.3 Summary
131(2)
11 Composite
133(14)
11.1 Recursive Programming: A Refresher
133(4)
11.2 Case Study: HR Positions
137(7)
11.3 Advantages
144(1)
11.4 Disadvantages
144(1)
11.5 When to Use
145(1)
11.6 Related Patterns
145(1)
11.7 Summary
146(1)
12 Data Access Object
147(8)
12.1 Case Study: Potential Customers
147(5)
12.2 Redundant Code Prevention
152(1)
12.3 Related Patterns
153(1)
12.4 Summary
153(2)
13 Decorator
155(10)
13.1 Case Study: User Exit
155(6)
13.2 Advantages and Challenges
161(1)
13.3 Related Patterns
162(1)
13.4 Summary
162(3)
14 Facade
165(6)
14.1 Case Study: Bonus Calculation
166(2)
14.2 When and Where to Use
168(2)
14.3 Related Patterns
170(1)
14.4 Summary
170(1)
15 Flyweight
171(14)
15.1 Case Study: Negative Stock Forecast
171(10)
15.2 Disadvantages
181(1)
15.3 When to Use
181(1)
15.4 Related Patterns
182(1)
15.5 Summary
182(3)
16 Property Container
185(14)
16.1 Case Study: Enhancing an SAP Program
185(9)
16.2 Static vs. Instance Containers
194(1)
16.3 Sharing Variables
195(1)
16.4 Variable Uniqueness
196(1)
16.5 Related Patterns
196(2)
16.6 Summary
198(1)
17 Proxy
199(10)
17.1 Case Study: Sensitive Salary Information
199(7)
17.2 When to Use
206(1)
17.3 Related Patterns
207(1)
17.4 Summary
207(2)
18 Chain of Responsibility
209(12)
18.1 Case Study: Purchase Order Approver Determination
209(8)
18.2 Risks
217(1)
18.3 Related Patterns
217(1)
18.4 Summary
218(3)
Part IV Behavioral Design Patterns
19 Command
221(10)
19.1 Case Study: SD Documents
221(8)
19.2 When to Use or Avoid
229(1)
19.3 Related Patterns
229(1)
19.4 Summary
230(1)
20 Mediator
231(12)
20.1 Case Study: Stock Movement Simulation
232(9)
20.2 When to Use
241(1)
20.3 Disadvantages
241(1)
20.4 Summary
241(2)
21 Memento
243(12)
21.1 Case Study: Budget Planning
243(9)
21.2 Risks
252(1)
21.3 Redo
253(1)
21.4 Summary
254(1)
22 Observer
255(10)
22.1 Case Study: Target Sales Values
256(5)
22.2 Advantages
261(1)
22.3 Disadvantages
261(1)
22.4 Multiple Subjects
262(1)
22.5 Related Patterns
263(1)
22.6 Summary
264(1)
23 Servant
265(12)
23.1 Case Study: Address Builder
266(8)
23.2 Extensions
274(1)
23.3 Related Patterns
275(1)
23.4 Summary
275(2)
24 State
277(8)
24.1 Case Study: Authorization-Based Class Behavior
277(6)
24.2 Advantages
283(1)
24.3 Related Patterns
284(1)
24.4 Summary
284(1)
25 Strategy
285(20)
25.1 Case Study: Sending Material Master Data
286(5)
25.2 Advantages
291(1)
25.3 Passing Data to the Strategy Object
291(2)
25.4 Optional Strategies
293(4)
25.5 Intermediate Abstract Classes
297(5)
25.6 Related Patterns
302(1)
25.7 Summary
302(3)
26 Template Method
305(18)
26.1 Case Study: Average Transaction Volume
306(12)
26.2 When to Use
318(1)
26.3 Advantages and Risks
319(1)
26.4 Degree of Abstraction
320(1)
26.5 The "Hollywood Principle"
320(1)
26.6 Summary
321(2)
27 Visitor
323(14)
27.1 Case Study: Incoming Invoice Processing
323(10)
27.2 When to Use
333(1)
27.3 Related Patterns
334(1)
27.4 Summary
335(2)
Appendices 337(48)
A Object-Oriented Programming
339(22)
A.1 Object-Oriented ABAP Development Environment
339(2)
A.2 Class
341(2)
A.3 Superclass
343(2)
A.4 Abstract Class
345(6)
A.5 Interface
351(4)
A.6 UML
355(4)
A.7 Summary
359(2)
B Subclass Determination
361(10)
B.1 Hardcoding
361(1)
B.2 Convention over Configuration
361(2)
B.3 SAP Class Tables
363(5)
B.4 Custom Table
368(3)
C Principles
371(12)
C.1 Object-Oriented Principles
371(2)
C.1.1 Abstraction
371(1)
C.1.2 Composition
371(1)
C.1.3 Inheritance
372(1)
C.1.4 Encapsulation
372(1)
C.1.5 Polymorphism
372(1)
C.1.6 Decoupling
373(1)
C.2 Design Principles
373(2)
C.2.1 Single Responsibility
373(1)
C.2.2 Open-Closed
374(1)
C.2.3 Liskov Substitution
374(1)
C.2.4 Interface Segregation
374(1)
C.2.5 Dependency Inversion
375(1)
C.3 Anti-Patterns
375(8)
C.3.1 Blob
376(1)
C.3.2 Copy-Paste Programming
376(1)
C.3.3 Functional Decomposition
376(1)
C.3.4 Golden Hammer
377(1)
C.3.5 Grand Old Duke of York
378(1)
C.3.6 Input Kludge
378(1)
C.3.7 Jumble
378(1)
C.3.8 Lava Flow
379(1)
C.3.9 Object Orgy
379(1)
C.3.10 Poltergeist
380(1)
C.3.11 Reinvent the Wheel
380(1)
C.3.12 Spaghetti Code
380(1)
C.3.13 Swiss Army Knife
381(1)
C.3.14 Vendor Lock-In
381(2)
D The Author
383(2)
Index 385
Dr. Kerem Koseoglu is a freelance SAP software architect, working professionally since 2000. He specializes in the development of comprehensive applications using design patterns and also conducts technical training related to design patterns. He has participated in global software development projects, taking diverse roles including lead architect, team lead, developer, technical advisor, instructor, and project manager. His former publications include four books and countless articles for technical magazines in Turkey. He has a Ph.D. in organizational behavior.