๐Ÿ’ƒ A Quick Intro to Design Patterns ๐Ÿ•บ

Patterns = Efficiency ๐Ÿ’ช

Good morning, Salesforce Nerds! We all know that designing software solutions ๐ŸŸฐ solving problems.

We also know weโ€™re not the first โ˜๏ธ to come across most of these problems.

In fact, from a software engineering perspective ๐Ÿค“, these problems rear their ugly head regardless of what platform your devโ€™ing on or what the underlying business requirement is. ๐Ÿ‘บ 

Itโ€™s our job as devโ€™s to recognize this and know when to leverage pre-packaged ๐Ÿ“ฆ๏ธ solutions.

This is what weโ€™ll start to cover in todayโ€™s article.

Agenda for today includes

  • Intro to Design Patterns ๐Ÿงฉ 

  • Daily Principle

  • All the Memes

Intro to Design Patterns ๐Ÿงฉ 

Today we will discuss-

๐Ÿ’ƒ What are they?๐Ÿ•บ

๐Ÿ’ƒ Benefits๐Ÿ•บ

๐Ÿ’ƒ The different types๐Ÿ•บ

salesforce

Job Board | ๐Ÿ’ƒ Click Here ๐Ÿ•บ

Socials | ๐Ÿ’ƒ Linkedin | Instagram | Twitter!๐Ÿ•บ

What are they? ๐Ÿค” 

The common definition will be something like this:

Reusable solutions to common software engineering problems found in real-world application development.

They are NOT โŒ code, but rather, really just templates for how to solve these common problems within your solution design.

Weโ€™re talking solutions for things like:

  • How to create instances in your application โœ๏ธ 

  • How to relate these instances ๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ 

  • How to modify their behavior (even dynamically at run time!) ๐Ÿคฏ 

It all started in โ€˜94 when the Gang of Four (GoF) dropped their book titled Design Patterns - Elements of Reusable Object-Oriented Software 

This really kicked off the concept of Design Patterns in the development world.

Benefits ๐Ÿ‘๏ธ 

This is easy ๐Ÿฐ๐Ÿฅฑ 

While I believe there are many benefits, Iโ€™d say the three primary ones are:

๐Ÿ“– Common language

Design patterns provide a standard terminology. AKA, developer jargon. This helps devs understand an implementation without having to see the code. ๐Ÿ”Ž 

๐Ÿ†๏ธ Best Practices

Design patterns follow well-understood paths. In this way, they encourage more legible, maintainable code that can be reused. ๐Ÿ˜‹ 

๐ŸŽ๏ธ Speed

Design patterns speed up development by providing tested & proven development paradigms. ๐Ÿ’ฏ 

The different types ๐Ÿงฉ 

Where the rubber meets the road! ๐Ÿ›ฃ๏ธ

The GoF listed 23 patterns and classified them into three different categories. ๐Ÿ—„๏ธ 

In the coming weeks, weโ€™ll pluck a few from each category and take a good look under the hood. ๐Ÿš— 

For now, letโ€™s get a high-level ๐Ÿช‚ view of these are:

๐Ÿช„ Creational 

These design patterns provide a way to create objects while hiding ๐Ÿฅท the creation logic.

๐Ÿ—๏ธ Structural

These design patterns concern class and object composition. ๐Ÿงฉ 

๐Ÿ”ƒ Behavioral

These design patterns are specifically concerned with communication between objects. ๐Ÿ“ข 

Daily Principle

"Receive without pride, let go without attachment."

Marcus Aurelius

and now....Your Daily Memes

What did you think about today's newsletter?

Login or Subscribe to participate in polls.