E4D Learning

Design Patterns (24 Hours)

Course Description:

"You know you don’t want to reinvent the wheel (or worse, a flat tire), so you look to design patterns – the lessons learned by those who've faced the same software design problems. In this training you'll learn why and how you can exploit the wisdom and lessons learned by other developers who've been down the same design problem road and survived the trip. We will look at the use and benefits of design pattern, look at some key OO design principles and walk through the example of how one patterns works." ("Head First, Design Patterns").

Goals
Design patterns are recurring solutions to software design problems you find again and again in real-world application development. The specific details of a software problem may vary from project to project but patterns capture the essence and basic structure of successful experiences in solving similar problems. Design patterns thus offer a technique for capturing design and architecture, presenting and communicating architectural knowledge at all levels of a system, allowing experience and insights to be understood and distilled. With knowledge of design patterns, a designer, programmer or architect can leverage the collective knowledge and expertise of the software community.

This course is an overview of the GOF design patterns. Each pattern represents a best practice solution to a software problem in some context. The course will cover the rationale and benefits of object-oriented software design patterns. Several example problems will be studied to investigate the development of good design patterns. Programming projects in the C# language will provide experience in the use of these patterns.

You will walk away from this training with the knowledge and the skills necessary to implement and benefit from design patterns in your next project.


Trainer:

Avi Specializes in information systems technologies, products, development architectures and complex projects management. Has a vast experience as a programmer, systems analyst and project manager in a wide range of fields: WEB, client-server, PDA, Microsoft technologies, JEE technologies, MF systems modernization, and more. Avi holds a B.Sc. in computer science & management and an M.B.A. in business administration.


Course Content:

Module 1: Exploring Object-Oriented Design Principles and Design Patterns
  • Describe the fundamental object-oriented design principles and concepts.
  • Introduction To Design Patterns.
  • Coding with best practices. Simplifying software with design patterns.

Module 2: C# and UML
  • Introduction to UML
  • C# advanced topics

Module 3: Behavioral Patterns
  • Strategy Pattern.
  • State Pattern .
  • Template Method Pattern.
  • Chain of Responsibility Pattern.
  • Command Pattern.
  • Iterator Pattern .
  • Mediator Pattern .
  • Observer Pattern.
  • Visitor Pattern .
  • Interpreter Pattern.
  • Memento Pattern.
  • Behavioral Patterns summary and comparison.

Module 4: Creational Patterns
  • Describe the basic characteristics of the Creational patterns.
  • Factory Method pattern.
  • Abstract Factory pattern.
  • Singleton pattern.
  • Prototype Pattern .
  • Pattern Comparison.
  • Abstract Factory Pattern .
  • Builder Pattern .
  • Creational Patterns summary and comparison.

Module 5: Structural Patterns
  • Describe the basic characteristics of the Structural patterns.
  • Facade pattern.
  • Proxy pattern.
  • Adapter pattern.
  • Decorator pattern.
  • Bridge pattern.
  • Composite pattern.
  • Flyweight pattern.
  • Structural Patterns summary and comparison.

Module 6: Using Architectural Building Blocks
  • Compare architectural patterns to design patterns.
  • Apply the Model View Controller (MVC) pattern.
  • Explain tiers and layers in .NET platform applications.

Module 7: Exploring AntiPatterns
  • Define AntiPatterns.
  • AntiPatterns Samples.

Related Courses:

Resources:




לפרטים נוספים, התקשר עכשיו למיכל: 054-5612259 או לאורנית 03-6325707