Object Methods and Design Patterns
The course is intended for
Programmers and specialists with at least 3 years of work experience in the IT field.
Brief Description
Object methods of software analysis and design; Skills in using the Unified Modeling Language (UML) to represent results of analysis and design;
A detailed study of design patterns included in the GoF group of patterns; Solving software development problems using interrelated groups of patterns.
Program
1. Introduction
Software development processes: Waterfall, Rapid Prototyping, Unified.
Unified Modeling Language (UML).
2. Object-oriented Analysis
UML class- and object- diagrams.
Domain Model: conceptual classes, associations, simple attributes.
Examples of building a domain model: Point-of-Sale System, Virtual Market System, Restaurant System, etc.
3. Object-oriented Design
System operations.
General Responsibility Assignment Software Patterns (GRASP): Information Expert, Creator, Low Coupling, High Cohesion, Controller, etc.
UML interaction diagrams: Sequence and Collaboration diagrams.
Visibilities between objects and classes: attribute visibility, parameter visibility, local visibility.
Design class diagrams.
Examples of building a design model: Point-of-Sale System, Virtual Market System, Restaurant System, etc.
4. Design Patterns
Additional GRASP patterns: Polymorphism, Pure Fabrication, Indirection, Protected Variations.
Gang-of-Four (GoF) patterns. Creational GoF patterns: Singleton, Prototype, Factory Method, Builder, Abstract Factory. Examples of use.
Structural GoF patterns: Adapter, Proxy, Decorator, Composite, Bridge, Facade. Examples of use.
Behavioral GoF patterns: Template Method, Strategy, State, Chain of Responsibility, Iterator Interpreter, Visitor, Observer. Examples of use.
5. Software development using design patterns
Support for external systems using the Adapter, Factory & Singleton patterns.
Support for varying discount strategies using the Strategy & Composite patterns.
User Interface (UI) design using the Observer pattern.
Failover to local services using the Proxy & Facade patterns.
Support for credit payments using the Singleton, Factory, Adapter & Proxy patterns.
Tracking states of persistent objects using the State pattern.
Design of mappers for persistent objects using the Template Method pattern.
Duration
14 weeks, 14 lessons, 2 hour
Lecturer
Armen Kostanyan
Ph.D., Associate Professor,
IT Educational and Research Center (IT ERC) of
Yerevan State University
Prerequisite for attending the course: interview.