Monday, December 3, 2018

The Beginner's Guide to Design Patterns

To fully understand the importance of design patterns, let's start with an example -- when a user uses your product, how do they save their landing page, blog post, template, etc.? Do their projects auto-save, or do they need to press a "Save" button?

Let's say you choose auto-save. Great. Now, how much time do you have? Do you want to go into each individual page and code for the auto-save component, with a big potential for error?

Or do you want to use a design pattern to ensure each of your website pages saves the same way, without tedious effort on your part?

That's the value of design patterns.

Here, we'll explain what design patterns are, and provide lists of design patterns in Java, C# and .Net, so you can save valuable time and effort on your next design project.

Design patterns explained simply

At its most basic, design patterns are solutions to recurring problems.

In the UX world, then, a design pattern is a pre-prescribed solution to a common design problem. Essentially, it's a way of saying, "Here's how we typically solve for this problem, if you want to use our method."

Chelsea Bathurst, a Design Lead at HubSpot, puts it this way: "Basically, components are the foundation -- how does this thing look. Design patterns are how they work together."

Design patterns are undeniably useful. They allow designers to avoid "re-inventing the wheel", and because they are tried-and-true solutions from experienced designers, they are less risky than creating something from scratch.

There are three types of design patterns: 

  • Creational design patterns: Regarding object creation mechanisms
  • Structural design patterns: Regarding Class and Object composition -- identifying relationships and patterns between components
  • Behavioral design patterns: Identifying communication patterns between Class objects

Next, let's take a look at our lists of design patterns in java, or C# and .NET, so you can begin applying them yourself. 

Once you understand the uses of each of these design patterns, you can choose which ones will best fit your needs. However, it's critical you understand basic java, or C# and .NET programming concepts, to correctly apply these solutions. If you don't, begin by taking an introductory course before taking any next steps with these design patterns.

http://bit.ly/2rhP44R

No comments:

Post a Comment