Less Design Patterns in Java

by making your code more functional

Calofir Emil
2 min readJul 11, 2019

Do you remember some of your technical interviews? The ones were you had to count how many design patterns you had under your belt.

I remember and I don’t feel good about it. A Couple of times I have got even whiteboard tests in the mix.

Why those patterns are proof you are an experienced programmer? Having to memorize those pile of code is proof of the limitation of the language at that time. Or limitations of the programming paradigm.

The “Giants” started to collect and compile some of their best code and practices after their retirement. Books emerged, the simple minds were celebrating. Finally some receipt to better do. The thing became mainstream, fanatics appeared. All who oppose or had different opinions got toss a side. Their livelihood and worth threaten. No job or underpaid job for you (exaggerating a bit)

A move to force their way of doing things. Best practices is a game of dominance in some sense. Not bad, you have to listen to your senior peers. Is good for your career.

But having to write programming blogs and articles with a constant frequency is so fishy. Where do you get your new experience? You didn’t write code for some time. You try to sell something. I don’t see you give props to old books and engineers often.

Engineers should be reserved , they should care about all tools and languages and learn from them. Read and write papers expand learning to other fields and borrow from them. The main goal is to make systems that are robust, easy to understand and maintain. This kind of expectations are induce by the seniors as being ideal.

Computer systems had morph a lot from start. OOP was a way to imitate the nature, the biological cell. By creating lots of independent components that communicate/cooperate through messages/signals. This model of structuring and writing

In a sentence “Keep things simple”.

Spring saved many of us, it kept things reasonable with in time releases. They focused on the needs of the programmer and nothing more. Many limitation were removed. Many patterns were “killed”, by hiding under the hood or by making them deprecated.

Java 8 is another evolution that embraces new Technics borrowed from Functional world. Reducing some of unneeded blob of code and patterns needed to build a program.

I’m a lazy curious person. I like programming and care about it. As a beginner I felt the mainstream information gave me school vibes. You should learn this and that. No need to think practice until you get it.

Through this story make my life easier first and advance my thinking process.

Learn new stuff and have fun!

--

--