|
|
|
|
|
|
|
|
|
Object-Oriented Design with Java |
Duration: 5 days |
|
|
- Application developers
- Programmers
- System designers
- Webmasters
|
|
Some basic programming
experience is assumed, but no previous knowledge of Java or Object-Oriented
Design is required. If you are already an experienced Object-Oriented
programmer, our Intense Java course may be a better match. |
|
|
Description |
This course
teaches you how to build Java applications using proven Object-Oriented
principles. We systematically introduce Java programming concepts
as building blocks to build a solid understanding of Object-Oriented
Design and Programming. |
|
Objectives |
InferData's goal is to transfer as much knowledge as possible from the classroom to the workplace. This course has been carefully planned to ease
the student into new concepts with the use of lots of exercises, labs, and sample code. At the end of this course, students should:
- Have a solid understanding of the Object-Oriented design principles
- Be able to write Object-Oriented Java programs
- Understand how to build Object-Oriented applications in Java
- Understand the Java GUI framework
- Have a solid understanding of some of the important classes provided by the
Java Framework
|
|
Course Outline |
The Object-Oriented Advantage
- Objects and simulation
- Continuity
- Object, Classes, and Interfaces
- Reactive programming models
Introduction to Java
- Object
- Class
- Interfaces
- Packages
- Object References
- Object creation
- Overview of the Java Core Libraries
- GUI model part I
Basic Object-Oriented Design
- Design notation
- What constitues a good Object-Oriented Design
- Subtyping and Subclassing
- Proper use of inheritance
- Design by contract
- Enforcing contracts in Java
The Java Libraries
- Standard I/O
- Utility classes
- Thread
Graphical User Interface Programming in Java
- Using the Abstract Windowing Toolkit
- Graphics Fundamentals
- Drawing Lines, Shapes and Text
- Fonts
- Double Buffering
- Colors
- Using GUI components
- Layout management
- Understaning the event model
|
|
Advanced Object-Oriented Design
- Design heuristics
- Advanced architectural design patterns
- Design patterns in Java
- Advanced subtyping with contracts
- Programming idioms
- Design for performance
Advanced Features
- Multimedia programming
- Introduction to the java.net library
- Socket programming
- Client-server programming
- Interprocess communications
- Remote Method Invocation (RMI)
- JDBC
- Serialization
- Software distribution
Component Based Programming
- JavaBeans:
- Component development in Java
- Managing Bean properties
- Handling Bean events
Concurrent Programming
- Fundamentals of concurrent programming
- Synchronization
- Deadlocks
- Starvation
- Building concurrent programs using Java threads
|
|
|
|