Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Beginning Java Programming ­- The Object-Oriented ­Approach

Rating
1 Rating
Already own it? Write a review
Format
Paperback, 744 pages
Published
United States, 1 March 2015

Bart Baesens is an associate professor at KU Leuven, and a lecturer at the University of Southampton where he teaches various programming courses including Java, SQL, Basic Programming and Principles of Database Management. Hes been published in journals such as Machine Learning, IEEE Transactions on Knowledge and Data Engineering, IEEE Transactions on Evolutionary Computation, Journal of Machine Learning Research and has presented at international top conferences. Aimee Backiel is a PhD Researcher at KU Leuven. She leads Basic Programming in Java exercise sessions with university students from various disciplines, giving her insight into students needs and a multitude of practical examples that make Java applications more concrete and understandable to learners who may or may not be technically oriented. Seppe vanden Broucke is a PhD researcher KU Leuven. He has many years experience with Java and applies it on a daily basis for his own research. His background provides with the necessary insights to present technical topics to a broad audience and highlight concrete and useful applications for practitioners.


INTRODUCTION xxii CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1 The Programming Process 2 Object-Oriented Programming: A Sneak Preview 5 Programming Errors 6 Syntax/Compilation Errors 6 Runtime Errors 6 Logic/Semantic Errors 7 Principles of Software Testing 7 Software Maintenance 8 Adaptive Maintenance 8 Perfective Maintenance 8 Corrective Maintenance 8 Preventive Maintenance 9 Principles of Structured Programming 9 CHAPTER 2: GETTING TO KNOW JAVA 11 A Short Java History 12 Features of Java 13 Looking Under the Hood 13 Bytecode 14 Java Runtime Environment (JRE) 15 Java Application Programming Interface (API) 16 Class Loader 17 Bytecode Verifier 18 Java Virtual Machine (JVM) 18 Java Platforms 19 Java Applications 19 Standalone Applications 19 Java Applets 20 Java Servlets 20 Java Beans 21 Java Language Structure 21 Classes 22 Identifiers 22 Java Keywords 22 Variables 23 Methods 23 Comments 24 Naming Conventions 26 Java Data Types 27 Primitive Data Types 27 Literals 28 Operators 29 Arithmetic Operators 29 Assignment Operators 30 Bitwise Operators 31 Logical Operators 32 Relational Operators 34 Arrays 34 Type Casting 37 Summary 40 CHAPTER 3: SETTING UP YOUR DEVELOPMENT ENVIRONMENT 41 Integrated Development Environments 42 Coding in Text Editors 42 Choosing an IDE 46 Eclipse 47 NetBeans 47 IntelliJ IDEA 47 Continuing with One IDE 47 Installing Eclipse on Your Computer 48 Downloading and Installing Eclipse 48 Using Eclipse 50 CHAPTER 4: MOVING TOWARD OBJECT?]ORIENTED PROGRAMMING 61 Basic Concepts of Object?]Oriented Programming 62 Classes and Objects in Java 63 Defining Classes in Java 63 Creating Objects 71 Storing Data: Variables 76 Instance Variables 76 Class Variables 80 Final Variables 82 Variable Scope 87 Defining Behavior: Methods 91 Instance Methods 91 Class Methods 94 Constructors 95 The Main Method 100 Method Argument Passing 109 Java SE Built?]in Classes 115 Classes in the java.lang Package 115 Classes in the java.io and java.nio Packages 117 Classes in the java.math Package 118 Classes in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118 Classes in the java.awt and javax.swing Packages 118 Classes in the java.util Package 118 Collections 119 Other Utility Classes 126 Other Classes and Custom Libraries 127 CHAPTER 5: CONTROLLING THE FLOW OF YOUR PROGRAM 129 Comparisons Using Operators and Methods 130 Comparing Primitive Data Types with Comparison Operators 130 Comparing Composite Data Types with Comparison Methods 132 Understanding Language Control 135 Creating if-then Statements 135 Nesting if-then Statements 137 Creating for Loops 138 What Is an Enhanced for Loop? 143 Nesting for Loops 146 Creating while Loops 148 What Is a do while Loop? 152 Comparing for and while Loops 156 Creating Switches 156 Comparing Switches and if-then Statements 161 Reviewing Keywords for Control 162 Controlling with the return Keyword 162 Controlling with the break Keyword 163 Controlling with the continue Keyword 164 Specifying a Label for break or continue Control 164 Reviewing Control Structures 168 CHAPTER 6: HANDLING EXCEPTIONS AND DEBUGGING 171 Recognizing Error Types 172 Identifying Syntax Errors 172 Identifying Runtime Errors 175 Identifying Logical Errors 176 Exceptions 180 Common Exceptions 181 Catching Exceptions 187 Debugging Your Applications 195 Using a Debugger Tool 195 Using a Logging API 200 Testing Your Applications 210 Summary 219 CHAPTER 7: DELVING FURTHER INTO OBJECT?]ORIENTED CONCEPTS 221 Annotations 222 Overloading Methods 222 The this KeyWord 224 Information Hiding 229 Access Modifiers 230 Getters 231 Setters 232 Class Inheritance 240 The Keyword super 241 Method Overriding 243 Polymorphism 243 Static Binding 244 Dynamic Binding 244 The Superclass Object 245 Abstract Classes and Methods 246 Packages 251 Interfaces 252 Garbage Collection 259 CHAPTER 8: HANDLING INPUT AND OUTPUT 261 General Input and Output 262 Input and Output in Java 266 Streams 268 Byte Streams 269 Character Streams 275 Buffered Streams 276 Data and Object Streams 278 Other Streams 281 Scanners 281 Input and Output from the Command-Line 283 Input and Output from Files 290 Java NIO2 File Input and Output 291 The Path Interface 291 The Files Class 293 Checking Existence 293 Legacy File Input and Output 304 A Word on FileUtils 305 Conclusion 305 CHAPTER 9: WORKING WITH DATABASES IN JAVA 307 Covering the Basics of Relational Databases 308 Accessing Relational Databases from Java 315 Java Database Connectivity (JDBC) 315 SQLJ 321 Ensuring Object Persistence 324 Hibernate 325 Object-Oriented Database Access from Java 341 Comparing Java Database Access Technologies 343 What's Ahead 344 CHAPTER 10: ACCESSING WEB SOURCES 347 A Brief Introduction to Networking 348 Web Services 360 RPC and RMI 360 SOAP 364 REST 366 Accessing Web Services and Sources with Java 368 Accessing SOAP Services 368 Installing JAX?]WS 368 Accessing SOAP Services with JAX?]WS Without WSDL 369 Accessing SOAP Services with JAX?]WS with WSDL 395 Accessing REST Services 406 Accessing REST Services Without Authentication 408 Accessing REST Services with Authentication 421 Screen Scraping 449 Screen Scraping Without Cookies 451 Screen Scraping with Cookies 453 Creating Your Own Web Services with Java 457 Setting Up an HTTP Server 457 Providing REST Services 461 CHAPTER 11: DESIGNING GRAPHICAL INTERFACES 463 Covering the Basics of GUIs in Java 464 Highlighting the Built?]In GUI Libraries 464 Abstract Window Toolkit (AWT) 464 Swing 464 Standard Widget Toolkit (SWT) 465 JavaFX 465 Other Toolkits and Libraries 466 Choosing a GUI Library 466 Building with Containers and Components 467 Looking at the Full Picture 472 Comparing Layout Managers 473 FlowLayout 474 BorderLayout 476 GridLayout 478 GridBagLayout 482 CardLayout 486 BoxLayout 489 GroupLayout and SpringLayout 493 Absolute Positioning (No Layout Manager) 494 Understanding Events 496 Introduction to Events 496 Event Listeners 497 On Threading and Swing 514 Closing Topics 524 Best Practices: Keeping Looks and Logic Separated 524 Let's Draw: Defining Custom Draw Behavior 525 Visual GUI Designers: Making Life Easy? 540 JavaFX: The Road Ahead? 545 CHAPTER 12: USING OBJECT?]ORIENTED PATTERNS 557 Introduction to Patterns 558 Object?]Oriented Patterns 558 Creational Patterns 559 Singleton Pattern and Static Utility Class 559 Service Provider Pattern and Null Object Pattern 565 (Abstract) Factory Pattern 566 Structural Patterns 568 Adapter Pattern 568 Bridge Pattern 570 Decorator Pattern 571 Facade Pattern 574 Composite Pattern 575 Type Pattern and Role Pattern 583 Behavioral Patterns 591 Chain?]of?]Responsibility Pattern 591 Observer Pattern and Model?]View?]Controller Pattern 592 Iterator Pattern 605 Visitor Pattern 607 Template Method Pattern 610 Strategy Pattern 612 Helpful Libraries 614 Apache Commons 614 Google Guava 615 Trove 615 Colt 615 Lombok 616 OpenCSV 616 HTML and JSON Libraries 616 Hibernate and Other JPA?]Compliant Libraries 617 Joda?]Time 617 Charting Libraries 617 3D Graphics Libraries 617 Financial Libraries 618 INDEX 619

Show more

Our Price
HK$317
Elsewhere
HK$362.85
Save HK$45.85 (13%)
Ships from UK Estimated delivery date: 29th Apr - 6th May from UK
Free Shipping Worldwide

Buy Together
+
Buy together with A Demon of Our Own Design at a great price!
Buy Together
HK$467

Product Description

Bart Baesens is an associate professor at KU Leuven, and a lecturer at the University of Southampton where he teaches various programming courses including Java, SQL, Basic Programming and Principles of Database Management. Hes been published in journals such as Machine Learning, IEEE Transactions on Knowledge and Data Engineering, IEEE Transactions on Evolutionary Computation, Journal of Machine Learning Research and has presented at international top conferences. Aimee Backiel is a PhD Researcher at KU Leuven. She leads Basic Programming in Java exercise sessions with university students from various disciplines, giving her insight into students needs and a multitude of practical examples that make Java applications more concrete and understandable to learners who may or may not be technically oriented. Seppe vanden Broucke is a PhD researcher KU Leuven. He has many years experience with Java and applies it on a daily basis for his own research. His background provides with the necessary insights to present technical topics to a broad audience and highlight concrete and useful applications for practitioners.


INTRODUCTION xxii CHAPTER 1: A GENERAL INTRODUCTION TO PROGRAMMING 1 The Programming Process 2 Object-Oriented Programming: A Sneak Preview 5 Programming Errors 6 Syntax/Compilation Errors 6 Runtime Errors 6 Logic/Semantic Errors 7 Principles of Software Testing 7 Software Maintenance 8 Adaptive Maintenance 8 Perfective Maintenance 8 Corrective Maintenance 8 Preventive Maintenance 9 Principles of Structured Programming 9 CHAPTER 2: GETTING TO KNOW JAVA 11 A Short Java History 12 Features of Java 13 Looking Under the Hood 13 Bytecode 14 Java Runtime Environment (JRE) 15 Java Application Programming Interface (API) 16 Class Loader 17 Bytecode Verifier 18 Java Virtual Machine (JVM) 18 Java Platforms 19 Java Applications 19 Standalone Applications 19 Java Applets 20 Java Servlets 20 Java Beans 21 Java Language Structure 21 Classes 22 Identifiers 22 Java Keywords 22 Variables 23 Methods 23 Comments 24 Naming Conventions 26 Java Data Types 27 Primitive Data Types 27 Literals 28 Operators 29 Arithmetic Operators 29 Assignment Operators 30 Bitwise Operators 31 Logical Operators 32 Relational Operators 34 Arrays 34 Type Casting 37 Summary 40 CHAPTER 3: SETTING UP YOUR DEVELOPMENT ENVIRONMENT 41 Integrated Development Environments 42 Coding in Text Editors 42 Choosing an IDE 46 Eclipse 47 NetBeans 47 IntelliJ IDEA 47 Continuing with One IDE 47 Installing Eclipse on Your Computer 48 Downloading and Installing Eclipse 48 Using Eclipse 50 CHAPTER 4: MOVING TOWARD OBJECT?]ORIENTED PROGRAMMING 61 Basic Concepts of Object?]Oriented Programming 62 Classes and Objects in Java 63 Defining Classes in Java 63 Creating Objects 71 Storing Data: Variables 76 Instance Variables 76 Class Variables 80 Final Variables 82 Variable Scope 87 Defining Behavior: Methods 91 Instance Methods 91 Class Methods 94 Constructors 95 The Main Method 100 Method Argument Passing 109 Java SE Built?]in Classes 115 Classes in the java.lang Package 115 Classes in the java.io and java.nio Packages 117 Classes in the java.math Package 118 Classes in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118 Classes in the java.awt and javax.swing Packages 118 Classes in the java.util Package 118 Collections 119 Other Utility Classes 126 Other Classes and Custom Libraries 127 CHAPTER 5: CONTROLLING THE FLOW OF YOUR PROGRAM 129 Comparisons Using Operators and Methods 130 Comparing Primitive Data Types with Comparison Operators 130 Comparing Composite Data Types with Comparison Methods 132 Understanding Language Control 135 Creating if-then Statements 135 Nesting if-then Statements 137 Creating for Loops 138 What Is an Enhanced for Loop? 143 Nesting for Loops 146 Creating while Loops 148 What Is a do while Loop? 152 Comparing for and while Loops 156 Creating Switches 156 Comparing Switches and if-then Statements 161 Reviewing Keywords for Control 162 Controlling with the return Keyword 162 Controlling with the break Keyword 163 Controlling with the continue Keyword 164 Specifying a Label for break or continue Control 164 Reviewing Control Structures 168 CHAPTER 6: HANDLING EXCEPTIONS AND DEBUGGING 171 Recognizing Error Types 172 Identifying Syntax Errors 172 Identifying Runtime Errors 175 Identifying Logical Errors 176 Exceptions 180 Common Exceptions 181 Catching Exceptions 187 Debugging Your Applications 195 Using a Debugger Tool 195 Using a Logging API 200 Testing Your Applications 210 Summary 219 CHAPTER 7: DELVING FURTHER INTO OBJECT?]ORIENTED CONCEPTS 221 Annotations 222 Overloading Methods 222 The this KeyWord 224 Information Hiding 229 Access Modifiers 230 Getters 231 Setters 232 Class Inheritance 240 The Keyword super 241 Method Overriding 243 Polymorphism 243 Static Binding 244 Dynamic Binding 244 The Superclass Object 245 Abstract Classes and Methods 246 Packages 251 Interfaces 252 Garbage Collection 259 CHAPTER 8: HANDLING INPUT AND OUTPUT 261 General Input and Output 262 Input and Output in Java 266 Streams 268 Byte Streams 269 Character Streams 275 Buffered Streams 276 Data and Object Streams 278 Other Streams 281 Scanners 281 Input and Output from the Command-Line 283 Input and Output from Files 290 Java NIO2 File Input and Output 291 The Path Interface 291 The Files Class 293 Checking Existence 293 Legacy File Input and Output 304 A Word on FileUtils 305 Conclusion 305 CHAPTER 9: WORKING WITH DATABASES IN JAVA 307 Covering the Basics of Relational Databases 308 Accessing Relational Databases from Java 315 Java Database Connectivity (JDBC) 315 SQLJ 321 Ensuring Object Persistence 324 Hibernate 325 Object-Oriented Database Access from Java 341 Comparing Java Database Access Technologies 343 What's Ahead 344 CHAPTER 10: ACCESSING WEB SOURCES 347 A Brief Introduction to Networking 348 Web Services 360 RPC and RMI 360 SOAP 364 REST 366 Accessing Web Services and Sources with Java 368 Accessing SOAP Services 368 Installing JAX?]WS 368 Accessing SOAP Services with JAX?]WS Without WSDL 369 Accessing SOAP Services with JAX?]WS with WSDL 395 Accessing REST Services 406 Accessing REST Services Without Authentication 408 Accessing REST Services with Authentication 421 Screen Scraping 449 Screen Scraping Without Cookies 451 Screen Scraping with Cookies 453 Creating Your Own Web Services with Java 457 Setting Up an HTTP Server 457 Providing REST Services 461 CHAPTER 11: DESIGNING GRAPHICAL INTERFACES 463 Covering the Basics of GUIs in Java 464 Highlighting the Built?]In GUI Libraries 464 Abstract Window Toolkit (AWT) 464 Swing 464 Standard Widget Toolkit (SWT) 465 JavaFX 465 Other Toolkits and Libraries 466 Choosing a GUI Library 466 Building with Containers and Components 467 Looking at the Full Picture 472 Comparing Layout Managers 473 FlowLayout 474 BorderLayout 476 GridLayout 478 GridBagLayout 482 CardLayout 486 BoxLayout 489 GroupLayout and SpringLayout 493 Absolute Positioning (No Layout Manager) 494 Understanding Events 496 Introduction to Events 496 Event Listeners 497 On Threading and Swing 514 Closing Topics 524 Best Practices: Keeping Looks and Logic Separated 524 Let's Draw: Defining Custom Draw Behavior 525 Visual GUI Designers: Making Life Easy? 540 JavaFX: The Road Ahead? 545 CHAPTER 12: USING OBJECT?]ORIENTED PATTERNS 557 Introduction to Patterns 558 Object?]Oriented Patterns 558 Creational Patterns 559 Singleton Pattern and Static Utility Class 559 Service Provider Pattern and Null Object Pattern 565 (Abstract) Factory Pattern 566 Structural Patterns 568 Adapter Pattern 568 Bridge Pattern 570 Decorator Pattern 571 Facade Pattern 574 Composite Pattern 575 Type Pattern and Role Pattern 583 Behavioral Patterns 591 Chain?]of?]Responsibility Pattern 591 Observer Pattern and Model?]View?]Controller Pattern 592 Iterator Pattern 605 Visitor Pattern 607 Template Method Pattern 610 Strategy Pattern 612 Helpful Libraries 614 Apache Commons 614 Google Guava 615 Trove 615 Colt 615 Lombok 616 OpenCSV 616 HTML and JSON Libraries 616 Hibernate and Other JPA?]Compliant Libraries 617 Joda?]Time 617 Charting Libraries 617 3D Graphics Libraries 617 Financial Libraries 618 INDEX 619

Show more
Product Details
EAN
9781118739495
ISBN
1118739493
Publisher
Other Information
Illustrated
Dimensions
23.4 x 18.8 x 3.1 centimeters (1.14 kg)

Table of Contents

Introduction xxii

Chapter 1: A General Introduction To Programming 1

The Programming Process 2

Object-Oriented Programming: A Sneak Preview 5

Programming Errors 6

Syntax/Compilation Errors 6

Runtime Errors 6

Logic/Semantic Errors 7

Principles of Software Testing 7

Software Maintenance 8

Adaptive Maintenance 8

Perfective Maintenance 8

Corrective Maintenance 8

Preventive Maintenance 9

Principles of Structured Programming 9

Chapter 2: Getting To Know Java 11

A Short Java History 12

Features of Java 13

Looking Under the Hood 13

Bytecode 14

Java Runtime Environment (JRE) 15

Java Application Programming Interface (API) 16

Class Loader 17

Bytecode Verifier 18

Java Virtual Machine (JVM) 18

Java Platforms 19

Java Applications 19

Standalone Applications 19

Java Applets 20

Java Servlets 20

Java Beans 21

Java Language Structure 21

Classes 22

Identifiers 22

Java Keywords 22

Variables 23

Methods 23

Comments 24

Naming Conventions 26

Java Data Types 27

Primitive Data Types 27

Literals 28

Operators 29

Arithmetic Operators 29

Assignment Operators 30

Bitwise Operators 31

Logical Operators 32

Relational Operators 34

Arrays 34

Type Casting 37

Summary 40

Chapter 3: Setting Up Your Development Environment 41

Integrated Development Environments 42

Coding in Text Editors 42

Choosing an IDE 46

Eclipse 47

NetBeans 47

IntelliJ IDEA 47

Continuing with One IDE 47

Installing Eclipse on Your Computer 48

Downloading and Installing Eclipse 48

Using Eclipse 50

Chapter 4: Moving Toward Object‐Oriented Programming 61

Basic Concepts of Object‐Oriented Programming 62

Classes and Objects in Java 63

Defining Classes in Java 63

Creating Objects 71

Storing Data: Variables 76

Instance Variables 76

Class Variables 80

Final Variables 82

Variable Scope 87

Defining Behavior: Methods 91

Instance Methods 91

Class Methods 94

Constructors 95

The Main Method 100

Method Argument Passing 109

Java SE Built‐in Classes 115

Classes in the java.lang Package 115

Classes in the java.io and java.nio Packages 117

Classes in the java.math Package 118

Classes in the java.net, java.rmi, javax.rmi, and org.omg.CORBA Packages 118

Classes in the java.awt and javax.swing Packages 118

Classes in the java.util Package 118

Collections 119

Other Utility Classes 126

Other Classes and Custom Libraries 127

Chapter 5: Controlling the Flow of Your Program 129

Comparisons Using Operators and Methods 130

Comparing Primitive Data Types with Comparison Operators 130

Comparing Composite Data Types with Comparison Methods 132

Understanding Language Control 135

Creating if-then Statements 135

Nesting if-then Statements 137

Creating for Loops 138

What is an Enhanced for Loop? 143

Nesting for Loops 146

Creating while Loops 148

What is a do while Loop? 152

Comparing for and while Loops 156

Creating Switches 156

Comparing Switches and if-then Statements 161

Reviewing Keywords for Control 162

Controlling with the return Keyword 162

Controlling with the break Keyword 163

Controlling with the continue Keyword 164

Specifying a Label for break or continue Control 164

Reviewing Control Structures 168

Chapter 6: Handling Exceptions and Debugging 171

Recognizing Error Types 172

Identifying Syntax Errors 172

Identifying Runtime Errors 175

Identifying Logical Errors 176

Exceptions 180

Common Exceptions 181

Catching Exceptions 187

Debugging Your Applications 195

Using a Debugger Tool 195

Using a Logging API 200

Testing Your Applications 210

Summary 219

Chapter 7: Delving Further Into Object‐Oriented Concepts 221

Annotations 222

Overloading Methods 222

The this KeyWord 224

Information Hiding 229

Access Modifiers 230

Getters 231

Setters 232

Class Inheritance 240

The Keyword super 241

Method Overriding 243

Polymorphism 243

Static Binding 244

Dynamic Binding 244

The Superclass Object 245

Abstract Classes and Methods 246

Packages 251

Interfaces 252

Garbage Collection 259

Chapter 8: Handling Input and Output 261

General Input and Output 262

Input and Output in Java 266

Streams 268

Byte Streams 269

Character Streams 275

Buffered Streams 276

Data and Object Streams 278

Other Streams 281

Scanners 281

Input and Output from the Command-Line 283

Input and Output from Files 290

Java NIO2 File Input and Output 291

The Path Interface 291

The Files Class 293

Checking Existence 293

Legacy File Input and Output 304

A Word on FileUtils 305

Conclusion 305

Chapter 9: Working With Databases in Java 307

Covering the Basics of Relational Databases 308

Accessing Relational Databases from Java 315

Java Database Connectivity (JDBC) 315

SQLJ 321

Ensuring Object Persistence 324

Hibernate 325

Object-Oriented Database Access from Java 341

Comparing Java Database Access Technologies 343

What’s Ahead 344

Chapter 10: Accessing Web Sources 347

A Brief Introduction to Networking 348

Web Services 360

RPC and RMI 360

SOAP 364

REST 366

Accessing Web Services and Sources with Java 368

Accessing SOAP Services 368

Installing JAX‐WS 368

Accessing SOAP Services with JAX‐WS Without WSDL 369

Accessing SOAP Services with JAX‐WS with WSDL 395

Accessing REST Services 406

Accessing REST Services Without Authentication 408

Accessing REST Services with Authentication 421

Screen Scraping 449

Screen Scraping Without Cookies 451

Screen Scraping with Cookies 453

Creating Your Own Web Services with Java 457

Setting Up an HTTP Server 457

Providing REST Services 461

Chapter 11: Designing Graphical Interfaces 463

Covering the Basics of GUIs in Java 464

Highlighting the Built‐In GUI Libraries 464

Abstract Window Toolkit (AWT) 464

Swing 464

Standard Widget Toolkit (SWT) 465

JavaFX 465

Other Toolkits and Libraries 466

Choosing a GUI Library 466

Building with Containers and Components 467

Looking at the Full Picture 472

Comparing Layout Managers 473

FlowLayout 474

BorderLayout 476

GridLayout 478

GridBagLayout 482

CardLayout 486

BoxLayout 489

GroupLayout and SpringLayout 493

Absolute Positioning (No Layout Manager) 494

Understanding Events 496

Introduction to Events 496

Event Listeners 497

On Threading and Swing 514

Closing Topics 524

Best Practices: Keeping Looks and Logic Separated 524

Let’s Draw: Defining Custom Draw Behavior 525

Visual GUI Designers: Making Life Easy? 540

JavaFX: The Road Ahead? 545

Chapter 12: Using Object‐Oriented Patterns 557

Introduction to Patterns 558

Object‐Oriented Patterns 558

Creational Patterns 559

Singleton Pattern and Static Utility Class 559

Service Provider Pattern and Null Object Pattern 565

(Abstract) Factory Pattern 566

Structural Patterns 568

Adapter Pattern 568

Bridge Pattern 570

Decorator Pattern 571

Facade Pattern 574

Composite Pattern 575

Type Pattern and Role Pattern 583

Behavioral Patterns 591

Chain‐of‐Responsibility Pattern 591

Observer Pattern and Model‐View‐Controller Pattern 592

Iterator Pattern 605

Visitor Pattern 607

Template Method Pattern 610

Strategy Pattern 612

Helpful Libraries 614

Apache Commons 614

Google Guava 615

Trove 615

Colt 615

Lombok 616

OpenCSV 616

HTML and JSON Libraries 616

Hibernate and Other JPA‐Compliant Libraries 617

Joda‐Time 617

Charting Libraries 617

3D Graphics Libraries 617

Financial Libraries 618

Index 619

About the Author

About the authors Bart Baesens is a professor at KU Leuven and a lecturer at the University of Southampton, where he teaches variousprogramming and database management courses. Aimee Backiel is a doctoral researcher at KU Leuven. She teaches basic programming in Java to learners from diverse backgrounds. Seppe vanden Broucke is a postdoctoral researcher at KU Leuven. He uses Java daily, giving him insight into useful applications for practitioners. Visit us at wrox.com where you have access to free code samples, Programmer to Programmer forums, and discussions on the latest happenings in the industry from around the world.

Reviews

"Learning Java is a big subject, and this is a big book to match. I would recommend this book top anyone who is serious in learning to program in Java." (BCS - The Chartered Institute for IT, February 2017)

Show more
Review this Product
Ask a Question About this Product More...
 
Look for similar items by category
Item ships from and is sold by Fishpond World Ltd.

Back to top