By Alvin J. Alexander
This ebook entitiled Introduction to Java OOA/OOD for Web Applications covers object oriented software development, java programming language basic to advanced, java Standard libraries and Java server side programming.
Contents
Day 1: Object-Oriented Software Development
-
Credits and Other Material
-
Why OO?
-
Benefits of object-oriented programming
-
Symptoms of software development problems
-
Root causes of project failure
-
Software development best practices
-
Introduction to OO concepts
-
Encapsulation
-
Inheritance
-
Polymorphism
-
Abstraction with objects
-
Message passing
-
UML summary
Standard diagrams
-
Object Oriented Software Development
-
Why have a process?
The Rational Unified Process (RUP)
-
Inception phase
-
Elaboration
Construction phase
-
Transition
-
A sample process
-
Domain modeling
-
Use case modeling
-
Robustness analysis
-
Interaction modeling
-
Collaboration and State Modeling
-
Addressing Requirements
-
Survey of Design Patterns
-
Agile Methods
-
The Agile Alliance
-
Introduction to Extreme Programming
-
Risk: The Basic Problem
-
Four Variables
-
The Cost of Change
-
Four Values
-
Basic Principles
-
Back to Basics
-
The Solution
-
OO Summary
-
OO Concepts
-
UML
Day 2: The Java Programming Language
-
Introduction
-
Chapter objectives
-
Java design goals
-
What is Java?
-
How/where to get Java
-
First Steps with Java
-
Java Commands and Utilities
-
A first application
-
main
-
Variables, constants, and keywords
-
Primitive data types
-
Literals
-
Constants
-
Reserved keywords
-
Arrays
-
Strings
-
String objects
-
StringBuffer class
-
Comments and Javadoc
-
Types of comments
-
Javadoc comment tags
-
A comment example
-
Notes on Usage
-
Flow control and loops
-
Introduction
-
Objectives
-
Statements and blocks
-
if-else
-
switch
-
while and do-while
-
for
-
Labels
-
break
-
continue
-
return
-
No goto Statement
-
Classes and objects
-
Introduction
Objectives
-
A Simple Class
-
Fields
Access Control and Inheritance
-
Creating Objects
-
Constructors
-
Methods
-
this
-
Overloading methods
-
Overriding methods
-
Static members
-
Initialization Blocks
-
Garbage collection and finalize
-
The toString() Method
-
Native Methods
-
Methods and parameters
-
Methods
-
Extending Classes
-
Introduction
-
Objectives
-
An extended class
-
A simple example
-
What protected really means
-
Constructors in extended classes
-
Overriding methods, hiding fields, and nested classes
-
Marking methods and classes final
-
The object class
-
Anonymous classes
-
Abstract Classes and methods
Cloning objects
-
Extending classes: how and when
-
Designing a class to be extended
-
Interfaces
-
Introduction
-
Objectives
-
An example interface
-
Single inheritance versus multiple inheritance
Extending Interfaces
-
Implementing Interfaces
-
Using an Implementation
-
Marker Interfaces
-
When to Use Interfaces
-
Exceptions
-
Introduction
-
Objectives
-
Creating exception types
-
throw
-
The throws clause
-
try, catch, and finally
-
When to use exceptions
-
Packages
-
Introduction
-
Package Naming
-
Package Access
-
Package Contents
-
Examples
Day 3: Standard Libraries & Server-side Programming
-
Objectives
IO: Streams and readers
Java networking
Introduction
Socket
ServerSocket
ServerSocket lifecycle
URL
URLConnection
-
Threads
-
Objectives
- Thread methods
- Thread references
- JavaBeans
- Remote Method Invocation (RMI)
- Java Native Interface (JNI)
- Collections framework
- Lists
- Maps
- Collection Utilities
- Internationalization, localization, and formatting
- HTTP protocol
- Request and Response
- Cookies
- Servlets and JSPs
- Objectives
- Introduction/Background
- Servlets
- Objectives
- Servlet basics
- HelloWorldServlet
- Servlet lifecycle
- HTTPServlet
- HTTPServletRequest
- HTTPServletResponse
- JavaServer Pages
- What is a JSP?
- JSP engine/container:
- Translation time and request time
- Scriptlets
- Expressions
- Declarations
- Directives
- Implicit objects
- Exception handling
- Survey of other server-side Java technologies
- XML
- XSLT
- Enterprise Java Beans
- Java Messaging Service
- Databases and JDBC
- Getting things set up
- Connecting to the database
- Statements
- getXXX methods
- Updating the database
- PreparedStatements
- A real method
- JUnit
- Is Testing Important?
- Mars Orbiter
- USS Yorktown
- Types of tests
- Unit Testing 101
- Goals of unit testing?
- Unit Testing with JUnit
- A sample JUnit session
- Recap
- Best practices
- Refactoring
- Final project
- Bibliography