Skip to main content
Software View

Main navigation

  • Home
  • Trainer Profile
  • Blog
  • Contact
User account menu
  • Log in

Breadcrumb

  1. Home

Software Design Patterns Training

Description:

Software design patterns represent proven solutions to recurring software design problems. They capture the knowledge of software experts in an easy to learn fashion. Upon learning, they help freshers and the experts to produce high quality software designs with desired properties. Ability to use design patterns is an essentially required skill of any software engineer and represents maturity.

Design patterns are language independent and hence can be used with any programming language (C, C++, C#, Java, PHP,...). They are used in all sorts of software systems (stand-alone, distributed multi-tier, dynamic web applications,...), frameworks, tools, drivers and libraries.

This training introduces all the concepts behind software design patterns and distinguishes design patterns from architectural patterns and idioms. A number of design patterns are discussed with an abundance of examples from many software systems, frameworks, tools and libraries.

Training Objectives:

At the end of the training, participants will be able to

  1. Immediately start applying the patterns learnt to solve new design problems and improve existing designs.
  2. Define the value of design patterns to software engineers and software engineering.
  3. Define the meanings and purposes of Object Oriented Programming (OOP) fundamentals with sound clarity and apply them correctly.
  4. Distinguish design patterns from architectural patterns and idioms.
  5. Distill new design solutions found by them in their work and document such solutions to share the knowledge or for future use.

Target Groups:

  1. Experienced and fresh software developers who wants to get a firm grasp of design patterns.
  2. New job seekers with software related academic/programming background interested in gaining professional knowledge of software systems designing (Design pattern knowledge is surely to add marks in job interviews).
  3. Read this page if you are interested, but need help to determine whether you should participate or not.

Prerequisites:

  1. Basic familiarity with an object oriented programming language (Like Java, C++, C# or PHP with OOP) is essentially required. But you may or may not know about how OOP concepts are used in practical world.

Communication Language:

English

Duration:

3 Days (24 hours)

Facilitator:

Kamal Wickramanayake (Profile)

Training Content:

  1. Introduction
    • What are design patterns?
    • Why patterns are important?
    • Example design pattern
  2. Essentials/Concepts
    • Elements of a pattern
    • Pattern documentation
    • Anti-patterns
  3. Pattern Classification
    • Pattern systems and pattern languages
    • POSA classification scheme
    • Gang-of-Four classification scheme
  4. POSA Patterns
    • Architectural patterns
    • Design patterns
    • Idioms
  5. OOP Fundamentals (Pragmatic Nature And Clearing Confusions)
    • Abstraction
    • Encapsulation
    • Inheritance
    • Polymorphism
  6. Gang-of-Four Design Patterns
    • Creational patterns
    • Structural patterns
    • Behavioral patterns
  7. Detailed Case Study - 1
    • Internals of JUnit regression testing framework
  8. Detailed Case Study - 2
    • Moving towards architectural patterns in multi-tier systems
Architecture
Analysis And Design

Highlights

  • O'Reilly Book "97 Things Every Software Architect Should Know" Accepts A Write Up From Kamal
  • "Service Oriented Architecture - Making IT Infrastructure Speaks Business" - Presentation At The ISACA 4th Annual Conference
  • The Second Bacth Of ICTA Nanasala e-Society Members Receives Trainings On HTML/CSS and GIMP
  • GIMP Training For ICTA Nanasala Project
  • Agile Processes Training For PPSL (Pvt) Ltd
  • Computer Society of Sri Lanka (CSSL) - Talk on "Introduction to IT Governance and Enterprise Architecture"
  • Motorola Sends A Second Batch Through Software Patterns Training
  • Kamal To Act As The Marketing Director - ISACA Sri Lanka Chapter
  • ISACA Sri Lanka Chapter Invites Kamal To Join As A Board Member
  • Epic Lanka Technologies (Pvt) Ltd Receives Java SE And Java EE Trainings From Software View
  • Patterns Training For PPSL (Pvt) Ltd
  • ISACA Members Day Presentation On "Introduction To IT Governance And Enterprise Architecture"
  • Opening Lecture On Information Technology For SLIDA Master Of Public Management Course Delivered By Kamal
  • Customized Java Enterprise Edition Training For SLIDA
  • No One To Beat Software View - Epic Lanka Technologies (Pvt) Ltd
  • Motorola Receives Software Patterns Training From Software View
  • Custom Java Enterprise Edition Training for ICTA/SLIDA - Only from Software View!
  • Java EE 5, JavaServer Faces, Hibernate And Spring For PPSL (Pvt) Ltd
  • "Brain Trust" For Linux Journal Weekly Newsletter From Kamal
  • Java Platform, Enterprise Edition 5 Training At The CEIT, University Of Peradeniya
  • Another Group Of Around 100 Sri Lanka Telecom Engineers And Managers Were Service Oriented!
  • Java Platform, Enterprise Edition 5 Training Will Be Held At The CEIT, University Of Peradeniya
  • Service Oriented Architecture: Another Two Sessions Conducted at SLT
  • Photos of IET Monthly Forum at the Peradeniya University
RSS feed
Copyright © 2007 - 2023 Software View