Dejan Dimić

Vibe Network

Sex, Lies and Design patterns

Almost all in software industry agrees that design patterns are important and beneficial for success of any project. Some regard them as an essential part of ‘good practices”. In a perspective there is something sexy and awesome in reading some code and recognize applied design patterns.

In real situations, one of the things that fall in oblivion and somehow get lost from developers perspective, right after documentation and most probably side by side with tests, are design patterns. Both in design and architecture phase and implementation phase.

Nowadays, the software solutions are more and more complex. The need to mimic the real life is greater and greater. Ergo the need to use and apply the proven solution from real life and software industry described as 'design patterns' should be more in our focus and part of our solutions.

Knowledge to recognize the problem, the context and to pick appropriate design patterns will become essential for creating any worth mention solution.

Full abstract

On the other hand, more in the land of reality, most development efforts are done under various pressures, from vague specifications, short schedules, ridiculous time to market constraints and similar. As a result what is called good practices usually suffer and get substitute with just practices, or less.

One of the things that fall in oblivion and somehow get lost from developers perspective, right after documentation and most probably side by side with tests, are design patterns. Both in design and architecture phase and implementation phase.

There are numerous excuses reported by various developers why the design patterns are only consequence of implementation instead of deliberate action of software architecture design in their projects.

This is totally bizarre to not use the tool whose main purpose is to show success path in order to solve the encountered problem. It’s even more strange as we know that all of design patterns come out of experience and long process of real life validation.

Regardless are we talking about design patterns or anti-patterns, they represent essence of the knowledge needed in order to overcome some obstacles in software we develop or in plain real life situations, usually both.

Nowadays, the software solutions are more and more complex. The need to mimic the real life is greater and greater. Ergo the need to use and apply the proven solution from real life and software industry described as 'design patterns' should be more in our focus and part of our solutions.

Knowledge to recognize the problem, the context and to pick appropriate design patterns will become essential for creating any worth mention solution.

In this presentation I would like to share some of the real life design patterns that can improve your software solution and drive your product to a golden state.