Design pattern git repo got 100 forks ;-)

Proud Moment. I got 100 forks on my Github repository for the code base of  “Design Patterns” 

Here is the link – https://github.com/premaseem 

It gives a lot of satisfaction when you realize that code written by you is liked and used by several other developers in this world. 

My Book on design patterns is now available on Udemy platform

Friends,

It was my deep down wish to be an instructor on Udemy platform and with Guru’s grace it got fulfilled today.

My video Book on “Learn software design patterns with Java” is now available on Udemy as on line course. Students would also get the certificate of completion once they finish the entire course.

https://www.udemy.com/learn-design-patterns-with-java/

Udemy

 

 

Architecture: Bridge Design Pattern

Hi Friends,
I have made a project of “Remote Control Application” by implementing Bridge design pattern.

Project: Solves the problem of dependency / coupling between parallel development / evolution of 2 different components by creating a bridge between their interfaces 😉

What is Bridge Design Pattern: decouples an abstraction so two classes can vary independently

Github project code: https://github.com/premaseem/DesignPatternsJava9/tree/bridge-pattern

I have written the working code based on the Architectural diagram, which can be downloaded from Github.

4_4_Bridge_pattern_sequence

Bridge Design Pattern class diagram.png

Architecture: Facade design pattern

Hi Friends,
I have made a project of  “All in one remote controller”  by implementing Facade design pattern.

Project: Solves the problem of too many TV / entertainment unit remotes by using a simplified master remote control ( which acts as Facade here )

What is Facade Design Pattern: provides a simple interface to a more complex underlying object.

Github project code: https://github.com/premaseem/DesignPatternsJava9/tree/facade-pattern

I have written the working code based on the Architectural diagram, which can be downloaded from Github.

 

4_3 facade sequence

 

4_3 Facade class diagram

 

Architecture: Adapter design pattern

Adapter Design Pattern allows for two incompatible classes to work together by wrapping an interface around one of the existing classes

I have written the working code based on the Architectural diagram, which can be downloaded from Github.

Working code github link: https://github.com/premaseem/DesignPatternsJava9/tree/adapter-pattern

 

4_1 Adapter design pattern - sequence diagram

 

4_1 Adapter Design Pattern

Good Design vs Bad Design – Information overload

The Bad: Parking Signs in Los Angeles

Parking signs in Los Angeles (LA) have been the epitome of information overload for decades. They’ve always been notoriously hard to understand, because the traffic rules are complex, resulting in the need to convey a lot of information in a small area.

How confusing are these signs? Traditionally, very—look at this example from the 2010s:

Author/Copyright holder: Jorge Gonzalez. Copyright terms and licence: CC BY-SA 2.0

As LA parking signs go, this example is already a pretty simple one.

Imagine you are a driver along this road on a Tuesday morning at 9 a.m. Can you park at this spot? What sounds like a simple question takes a lot of mental processing to answer.

As designers, we’re often faced with situations where we have to design for a lot of information to be displayed in a small space. The parking signs in LA might be an extreme case, but many times designing for mobile apps means facing the same problems. Is there a way out—for both the parking signs and designers in general?

The Good: Nikki Sylianteng’s Parking Sign

Designing a sign to display all the information, while being easy to understand, sounds like an impossible task. But that’s exactly what Brooklyn designer Nikki Sylianteng did.

Author/Copyright holder: Nikki Sylianteng. Copyright terms and licence: CC BY-NC-SA 4.0

Nikki’s proposed parking sign was eventually used in LA as part of a trial run.

Part of why Nikki’s design1 works well is that it is user-centred: Nikki realised drivers simply want to know whether they can park at a spot. Yes or no—that’s all drivers needed, and that’s all the parking sign shows.

Her design also made use of visuals, rather than text, to convey information. The result is incredibly intuitive: green for OK, red for No Parking. It’s even designed for the colour blind, with stripes for No Parking.

Now when you look at the sign, you’ll know that on Tuesday at 9 a.m., parking is not allowed. The bars show what’s what at a glance—simple.

Lessons Learnt: Best Practice

  • Understand what your users need, then design based on that. This helps reduce information overload.
  • Have lots of information to convey to your users? Try using visuals instead of text. Learn more about data visualisation here.