Training

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

439 University Av
Suite 820
Toronto, ON
M5G 1Y8

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

 

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.
Outline Course Outline

Buy on-site and customized class

*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.