Object-oriented Design Mindset?

This topic is bothering me for years, how to make a programmer has an object-oriented design mindset?

Popular codes I have seen during my working experience as a programmer, are it is procedural programming, wrote at an MVC framework, in a controller method. The controller becomes a massive code and hard to read. Sometimes I found there are “service pattern”, typically named with {domain}Service. Most of the time this service class becomes a big chunk of the instance method.

Did I have a problem with it? No, it solves the problem. When the requirement was change try to make changes, if it is too complex or the programmer worry or not confident to make a change, just make a new one. Simple, straight forward.

So why it is bothering me. Names software engineers guru from Robert C. Martin to Gang of four, their share best practices with an object-oriented approach. SOLID, clean code, design patterns, code smells all came with an object-oriented solution. But what happens if the programmer itself has no idea how to implement the object-oriented design.

What do you think? Here is next thing you need to look at.





comments powered by Disqus