Microsoft Silver Partner
Make a request

Course - Patterns Of Design

Изображение к курсу Patterns Of Design
Course Patterns Of Design
Duration 10 days / 20 hours
Lessons number 10

Fulltime studies

3980 UAH Register

Online learning

3980 UAH Register

Video trainings



Software developers usually face rather common tasks. In most cases these issues have been solved by others. Patterns of design are the set of selected solutions to commonly occurring problems.
Their high abstraction level let differentiate between main principles of realization from concrete application fields that, in its turn, give a nice possibility not only realize patterns in practice, but also use them as a set of indicators for clear classification of even most difficult tasks.
In this meaning, patters of design are some common language that excludes uncertainty of explanation and significantly speed up development process.

The Patters of Design course will help you to study this universal language in short terms. You will be able clearly classify projecting tasks and precisely describe most suitable solutions. Every pattern is an instrument that will be frequently used in your practice, and you will use all the advantages that can be gained with safe and time-proved solutions.
• Understanding of OOP and knowledge of C# syntax
• C# experience is an advantage
• Visual Studio 2010 experience
Beginners in software development and also experienced C# developers, designers and architects who want to learn quickly and effectively solving complicated development tasks using comprehensive techniques and methods.
Lesson 1

Introduction to Patterns of Design GoF. Creational Patterns. Abstract Factory

During the lesson students will get familiar with the general idea of patterns, understand the intent of creational patterns and learn about the Abstract Factory.

Lesson 2


Intent, structure and implementation of Builder Pattern. Difference between Builder and Abstract Factory.

Lesson 3

Factory Method

The lesson considers the Factory Method pattern. Also students will learn about alternative patterns classifications.

Lesson 4

Prototype & Singleton

Prototype & Singleton – are the last among creational patterns. Beside the patterns themselves the lesson also considers the built-in features of C# language that allow using these patterns with great benefits.

Lesson 5

Structural Patterns. Adapter & Proxy

Introduction to structural patterns. Differences and similarities between Adapter & Proxy.

Lesson 6


Separating abstraction and implementation. Advantages of decomposing the application into different independent layers.

Lesson 7


Composite pattern and tree structures.

Lesson 8


Principles of dynamic behavior extension. Inheritance vs. decoration.

Lesson 9


Layered applications. Facade and common interface patterns.

Lesson 10


Flyweight in CLR. Optimization of memory utilization by implementing the Flyweight pattern.

Lesson 11

Behavioral Patterns. Chain of Responsibility

Introduction to behavioral patterns. Consecutive requests handling. Chain of Responsibility pattern.

Lesson 12


Client, invoker, receiver. Designing an object that is used to represent and encapsulate all information needed to call method at a later time.

Lesson 13


Developing the special purpose grammar for solving constantly changing homogeneous tasks

Lesson 14


Iteration through the aggregation entity without representing the inner structure and element dependencies.

Lesson 15


Designing the cooperation between objects with loose coupling. Reducing dependences between system components.

Lesson 16


How to save the particular object state for future usage?

Lesson 17


Publish/Subscribe relations. Implementing distributed event handling systems.

Lesson 18

State & Strategy

Designing the objects that are able to change their particular state or behavior dynamically, during the program run-time.

Lesson 19

Template Method

Designing the hierarchy of classes that allows to vary the implementation of same behavioral algorithm. NVI concept.

Lesson 20


How to change the number of operations that can be done on an object without changing the object itself?

• Quickly understand most complicated design tasks
• Divide complex issues into typical parts, simplify their conception and understanding
• Create object-oriented and easily expandable applications, using ready time-proved solutions
• Get ready to learn wider set of patters that are solutions for complicated tasks of corporate applications design (PoEAA, MS Patterns & Practive)
• Use achieved skills in real-life projects.
Check mark Register for classes Separator Online registration form
Fulltime Weekends Specialities
Start date End date Time

Did not find a suitable course in the timetable? Make a order

Fulltime Weekends Specialities
Start date End date Time

Did not find a suitable course in the timetable? Оформите заявку