Develpreneur Blog • Latest
Latest Posts
Fresh thinking, practical patterns, and lessons that compound — built for developers who want to ship, lead, and build momentum.
One of the most prevalent topics of consideration in an object-oriented system is property design. We can keep them simple or create more classes. The first approach is simpler and faster to implement. However,…
Class Relationships – When Has-A Shows a Relation
Our language can blur the distinctions of class relationships in designing our solution. The “has-a” determination is often confused by how the English language can translate those words. We also have to keep a…
Is A and Has A Concepts in Object-Oriented Design
The ideas of “is a” and “has a” are often discussed as part of object-oriented design. These concepts may seem simple and obvious. However, they can often be confused, and complex systems can blur…
Granular Interfaces – How Much OO Is Practical?
The ideas of cohesion and coupling point us to paths that either place functionality in smaller or larger classes. We discuss granular interfaces in this episode as an introduction to those “right-sizing” discussions. Not…
Inheritance – Polymorphism In A Hierarchical Manner
We switch gears in this episode and start to look at inheritance. This is a core feature of object-oriented design and the most recognizable attribute. Child classes are utilized through polymorphic support. Thus, we…
Interfaces – An Object-Oriented Contract For Usage
This episode, we look at interfaces. These are not supported by all languages. However, when they are supported, they are very useful. The interface specification allows us to provide language-based constraints for our method…
Flexibility in OOP – Build in hooks for change
One of the essential concepts to understand is flexibility in OOP. A good design requires the ability to extend it. There are ways to do this. However, they require us to incorporate mechanisms for…
Code Consistency – Critical For Practical Polymorphism
One of the challenges of good polymorphic design is code consistency. We are building a way to communicate with developers. Therefore, our language or syntax needs to be easy to understand. Likewise, we need…
Polymorphism Without Side Effects – Object-Oriented Clarity
We discussed in the previous episode how polymorphic behavior gives us a form of a common language for objects. Thus we need to consider the idea of polymorphism without side effects, so we have…
Polymorphism Overview – Reducing code size and a better user experience
We start the next series of episodes with a polymorphism overview. This is a core concept for proper object-oriented design. Likewise, we will dig into several practical ways to use this. Polymorphism Overview –…