Develpreneur Blog • Latest
Latest Posts
Fresh thinking, practical patterns, and lessons that compound — built for developers who want to ship, lead, and build momentum.
There are many areas of life where moderation is required. Object-oriented design complexity is one of those situations. We can create a solution that is highly granular and flexible or one that is monolithic…
Documentation Of Our Object-Oriented Solution
It is hard to think of a facet of software development that programmers dislike more than documentation. This task is almost always pushed to the end, and shortcuts are used wherever possible. However, we…
Test-Driven Development – A Better Object Oriented Design Approach
Testing and Design are often at opposite ends of the software development life-cycle. However, test-driven development is an excellent way to drive our design. It can help us build better classes and improve re-use. …
Testing Object-Oriented Code – A Better Design Approach
We have spent a lot of time on the core concepts of object-oriented design and programming. However, testing object-oriented code is at least as essential to our practical approach. We need to ensure that…
Destructors And Cleaning Up An Instance: Object-Oriented Design
When we get to the end of our use of a class instance, we need to clean up after ourselves. This is where destructors come into play. They are similar to constructors in a…
Constructors And Initializers In Object-Oriented Design
When we create an instance of a class, we often need to do some initialization. Constructors and initializers achieve this goal. These are two different ways to get our data into an instance and…
Static Attributes And Methods In Object-Oriented Design
In this episode, we look at how to use static attributes and methods in our class design. These are important but can be over-used. They can even be a supported way to break the…
Software Design – Finding Balance With Coupling And Cohesion
We have spent a few episodes looking at cohesion and coupling. Now it is time to find balance in these two software design approaches. Each approach has strengths and weaknesses. Therefore, our best approach…
Coupling – A Smaller Object Approach To Software Solutions
In object-oriented software, we talk about the concept of coupling. Put simply; this is a small object approach to our solution. It is the opposite end of the spectrum from large-object, or monolithic, designs. …
Cohesion – A Big Object Approach To Design
This episode focuses on cohesion and the idea of using fewer large objects to solve a problem. This approach is often considered the opposite of using more smaller objects. We will find out that…