Game programming patterns and the structure of the Scrolling Shooter project

Before we dive in too deeply it is probably worth stating exactly what a design pattern is.

Tip

A design pattern is a solution to a programming problem. More specifically a design pattern is a tried and tested solution to a programming problem.

What makes design patterns special is that the solutions have already been found by someone else. Documented in books and other media (like websites) and they even have names, so they can be readily discussed.

There are lots of design patterns. We will be learning about the Observer, Strategy/Entity-Component, Singleton and Factory design patterns.

Design patterns are already proven ways of enabling the ideas we have already discussed. Like reusing code, encapsulating code and designing classes that represent things. Patterns often amount to a best-practice way of encapsulating, allowing re-use and yet allowing a group of classes to interact.

Tip

As we will see throughout the rest of the book, design patterns are much more to do with the structure of your classes and objects of your code than they are to do with the specific lines of code or methods.

Design patterns are used in all languages and across all types of software development. The key to design patterns is to simply know that they exist and roughly what problem(s) each of them solves. Then when you see a flaw in the structure of your code you can then go and investigate a particular pattern.

Tip

The other great thing about design patterns is that by learning and then using common solutions to common problems a design pattern also becomes a means of communication between developers. "Hey Fred, why don't we try implementing an Observer based solution to that communication problem on the Widget project?"

Throughout the rest of the book as we are introduced to design patterns, we will also examine the problem which caused us to need the pattern in the first place.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.170.174