Archive: Design
Encapsulation at a glance
Nov 12,2016 ObjectOriented

The last member of Object oriented principles family  is “Encapsulation”, this fourth member of the family is my most favorite one, I love it because it seems Mafias rules -actually I am not a member of Mafia but I am absorbed in movies about this gang- Based on this rule “The less you know the […]


Hierarchy at a glance
Oct 25,2016 ObjectOriented

Third principle in object oriented paradigm is Hierarchy. Actually hierarchy is a technique for managing complexities; As Grady Booch states in his seminal book – Object-Oriented Analysis and Design with Applications– “There are fundamental limiting factors of human cognition; we can address these constraints through the use of decomposition, abstraction, and hierarchy.”  Since our complexity […]


Modularity at a glance
Oct 10,2016 ObjectOriented

Modularity is one of the most important pillars in  the Object Oriented paradigms. As you know object oriented is to manage complexities and keep them local. Firstly complexity is reduced by applying “Abstraction” to a real world problem in this paradigm, then other principles try to manage remaining and avoidable complexities; This type of design act based on a mind set which […]


Abstraction at a glance
Oct 4,2016 ObjectOriented Uncategorized

Usually, when I teach “Abstraction” concept in my Object Oriented Design course, I define it as “Creating a model for real life objects in problem domain”. It assists you to solve the problems that you are working on it. For instance, suppose we are to create an invoice system in a clothes boutique. Based on provided […]