Showing posts from March, 2016

Introduction to Software Design Patterns

This is a presentation I did for the company I work Digital Origin. Its an introduction about architecting software solutions using Design Patterns.  Hope you like it. What is a Design Pattern "Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice" - Cristopher Alexander - "Is a general resuable solution to common ocurring problems. It is a description of template for how to solve a problem in different situations" - Wikipedia - Prerequisites & Basic Principles These are the basic principles one should be concerned before applying patterns. Use Object Oriented language Use of Abstraction Use of Encapsulation Use High Cohesion Use Loose Coupling Use Open - Closed priniple Use Separation Of Concerns Use Dependency Inversion Separate vo