|
Home > Training >
Java, Java EE and Frameworks
>
Java
>
|
WA1865 Writing Java in O-O fashion Workshop Training and Courseware
(Coming Soon)
|
Learn how to write Java code to take advantage of four OO programming best practices. The four best practices of OO are Abstraction, Encapsulation, Modularity and Hierarchy. |
|
Topics
- Object-oriented concepts
- Identifying classes
- Object interaction, relationships and behavior
What you will learn
After completing this course, the student should be able to:
- Develop Java applications in accordance with the OO best practices
Audience
This course is intended for anyone involved in the development or design of Java based software.
Prerequisites
Familiarity with Java development is required.
Duration
Three days. |
|
Course Outline
1. Overview of OOAD
- Topics
- A Brief History of Object Oriented Languages
- Tower of Hanoi
- Objects
- Objects Examples
- Objects Identification and Attributes
- Operations and Methods
- Object Relationship
- Encapsulation
- Classes
- Examples of Classes
- Examples of Object Type Identification in UML
- Inheritance
- Example of Inheritance
- Discovering Inheritance
- Polymorphism
- Example of Polymorphism
- Object-Oriented Programming Languages
- Topics
- Development Process
- The Rational Unified Process
- Inception Phase
- Elaboration Phase
- Construction Phase
- Transition Phase
- Software Development Life Cycle with the RUP
- Topics
- What is UML?
- History of UML
- UML 2 Architecture
- UML Infrastructure
- UML Superstructure (or UML)
- Object Constraint Language (OCL)
- UML Diagram Interchange
- Building Blocks of UML
- Things in UML
- Examples of UML Things
- Relationships in UML
- Examples of UML Relationships
- Diagrams in UML
- Classifier in UML
- Examples of UML Classifiers
- Common Mechanisms in UML
- Common Mechanisms in UML cont
- Examples of UML Extensibility
- Advantages of UML
- Summary
2. Class Identification
- Topics
- Identifying Classes
- Entity Class
- Control Class
- Boundary Class
- A Good Class
- A Good Class cont'd
- Bad Classes
- Finding Classes and their Relationships
- Noun/verb Analysis
- Noun/verb Analysis example
- Refine
- CRC Cards
- What is a Responsibility?
- What is a Collaboration?
- Identifying Classes Using CRCs
- CRC Cards An Example
- Class Diagram
- Class Notation in UML
- The Name Compartment
- The Attribute Compartment
- The Operation Compartment
- Translating CRC Cards to a Class Diagram
- The Scheduling System
- UC-01 Classes
- The EmployeeInfo Class
- Object Diagram
- Object Notation in UML
- Object Links and Messages
- Message Notation
- Link Types
- Examples of Object Links
Workshop Part I – Class Identification
Workshop Part II – Implementing above classes in Java
3. Class Relationship Analysis
- Topics
- UML Diagrams
- Class Diagram
- Object Diagram
- Types of Class Relationships
- Identifying Class Relationships
- Examples of Relationships in UML
- Class Association Relationship
- Class Association Relationships in UML
- Reading Class Associations
- Multiplicity
- Reading Multiplicity
- Aggregation
- Aggregation An Example
- Composition
- Composition An Example
- Qualification
- Qualification An Example
- Association Class
- Association Class An Example
- Class Diagram Multiplicity and Ordering
- Class Diagram Operations Compartment
- Class Diagram Interface Notation
- Class Diagram Combining Interface Notations
- Class Diagram Object Relationships
- Package Diagram
Workshop Part III – Class Relationships
Workshop Part IV – Implementing encapsulation and hierarchy in Java
4. Object Design
- Topics
- Object Design
- Generalization
- Root and Leaf Classes
- Abstract Class and Operation
- Generalization an Example
- Modeling with Generalization
- Modeling with Encapsulation
- Visibility of Features
- Owner Scope
- Friendship
- Value Containers
- Types
- Interfaces
- Interface Modeling
- Interface Modeling an Example
- Roles
- Modeling with Types, Interfaces and Roles
- Object Persistence
- Define a Base Class for Persistent Objects
- Representing Objects as Tables
- Object Serialization
- Active Objects
- Active Class an Example
- Communication of Active Objects
- Object Communications an Example
- Synchronization
- Template Classes
- Template Class and Instantiation an Example
Workshop Part V – Modularity and Interface
Workshop Part IV – Implementing modularity and interface in Java
Appendix A. Refactoring
- Topics
- What is Refactoring
- An Example
- Why We Need Refactoring
- Principles of Refactoring
- Principles of Refactoring cont
- Steps for Performing Code Refactoring
- Anti-patterns
- Anti-patterns cont
- Moving Features Between Objects
- Move Method
- Extract Class
- Introduce Local Extension
- Dealing with Generalization
- Pull up Field/Pull up Method
- Push Down Field/ Push Down Method
- Extract Superclass
- Extract Subclass
- Composing Methods
- Extract Method
- Replace Method with Method Object
- Making Method Calls Simpler
- Rename Method
- Replace Parameter with Explicit Methods
- Introduce Parameter Object
- Encapsulate Downcast
Appendix B. Design and Architecture Patterns
- Topics
- Patterns
- Example of Design Patterns
- Example of Architecture Pattern
- Factory Method
- Singleton
- Command
- Modeling the Structure Aspect of Command Pattern
- Modeling the Behavior Aspect of Command Pattern
- Facade
- Adapter
- Proxy
- Publish-Subscribe
- Modeling the Structural Aspect of the Publisher-Subscribe Pattern
- Modeling the Behavioral Aspect of the Publisher-Subscribe Pattern
- Three-tier Architecture
- Multi-tier Architecture
- Model-View-Controller
- Model-View-Controller Framework
|
|
|
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston,
Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
|
|
|