Design Patterns

This is another topic that was not fully covered in my computer science degree and I think it is a very useful topic for when you actually start working. Design patterns are basically reusable solutions to common problems. They fall under three categories: creational patterns, structural patterns, and behavioral patterns.


Creational Design Patterns

Creational design patterns are all about class instantiation.

Names of Patterns:

  • Abstract Factory
  • Builder
  • Factory Method
  • Object Pool
  • Prototype
  • Singlton

Structural Design Patterns

Structural design patterns are all about class and object composition. It does this with classes by using inheritance to compose interfaces and then composes objects in different way in order to obtain different functionality.

Names of Patterns:

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Private Class Data
  • Proxy

Behavioral Design Patterns

Behavioral design patterns are more concerned about communication between objects.

Names of Patterns:

  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Observer
  • State
  • Strategy
  • Template method
  • Visitor

As you can see there are many different patterns for each category. Although do not think all of these patterns will answer all of your programming problems. There is some debate on how useful design patterns actually are and when to use them. I would find a pattern that you find interesting and try to implement it in a side project before using it for actual work and be sure that using a pattern is the best way to do things before implementing it in your project.

You can find more information on all of these patterns at Source Making

Book Review: Jurassic Park by Michael Crichton

This was a great book to read and it should be, it is a classic. I also just like how Michael Crichton writes so I may be a little biased. This is a book about dinosaurs coming back to life by human meddling. Now I know what your thinking: “How can things go wrong?”. The thing that makes the book really interesting is the characters that are invited to the park and get caught up in all the excitement. He also does very good research for every book that he has written. This just makes the whole story more compelling in my opinion and it is just fun to learn about new things while reading a science fiction book. It allows you to enjoy the story better by being able to convince your brain that the events in the book actually have a possibility of happening. This makes it easier to get immersed into this book.

What do you think of the book?

Jurassic Park by Micheal Crichton is available on amazon now.