The relationship between Modularity and Polymorphism.

Object-oriented Analysis and Design plus Object-oriented programming have been new approaches in the software development since 1967, during more than fifteen years, the foundation of this paradigm is so robust and reliable, so that makes this thinking framework as the most dominant problem-solving in software production. Thanks to all pioneers and influencers of this paradigm Read More…

Inheritance and its misunderstandings in the Object-oriented design

Recently I had a conversation with one of my students in the “Advanced Object-Oriented Design” course about why nowadays Functional programming paradigm is so interesting while for decades Object-oriented paradigm has been dominated paradigm. If you do some search on the web you find dozens of articles and debates about this topic, so, I don’t Read More…

Design for simplicity not for complexity!

When I was a novice programmer, I was interested in intricate designs, I believed if there is not a dozen of “Interfaces” either “Abstract classes” the design is not mature, I believed there are always many changes out of the door waiting for tackle the project. The result was a super complex design which tried Read More…

There is neither Snake nor Ladder, In the Snake& Ladder game from an OOD Perspective!

Beforehand, I have discussed the role of the simplicity in creating an efficient software design, and now in this article, I am going to use an example of the simplifying process to remove complexity factors from a real-world problem to reach a maintainable and good enough rich object-oriented design. The problem I want to solve Read More…