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.

  • Start



    Duration


    14 weeks, 14 lessons, 2 hour


    Level


    2nd level



    Lecturer
    Armen Kostanyan

    Ph.D., Associate Professor, IT Educational and Research Center (IT ERC) of Yerevan State University


    Prerequisite for attending the course: interview.