Engineering Rule #2 – Design Patterns and Code Reuse – It’s not cheating!

As we’ll find out in tomorrow’s meeting, engineers rarely reinvent wheels.  Instead, like the Lego brick system, engineers codify best practices into relatively independent, robust and flexible modules.  These modules are then combined on multiple levels to create typically complex engineering systems today.

The art is often in picking the most suitable design patterns, gracefully implementing them and integrating these subsystems with each other and the overall environment the system must operate in which includes humans.

Similarly, our team will do an break down analysis of a well-document design of a VA/DC FLL State winning robot design.  VA/DC is the world’s largest FLL region and this team manager has archived his years of successful experiences in  very lucid manner at:

http://www.masteringlegorobot.com/

We’ll decompose the robot design into major subsystem and enumerate the major design decisions in each subsystem as well as the reasoning behind each.  In addition, there are several other design guideline presentations we’ll briefly cover to ensure we acquire the broadest understanding of FLL robot design.  Everyone on the team needs to understand at some levels all the decision points as well as the cost/benefits driving the path we take down our design path.

BTW, The book cover above is for one of the foundational references in codifying object-oriented software design patterns.  The authors are lovingly referred to as the “Gang of Four” today.  It is a credit to them that this book is still a well regarded reference in the field two decades after publication.  Even the best written technical books  usually fall into irrelevance within a few years given the pace of innovation today.  Here is a brief blog post summarizing the book:

http://dasunhegoda.com/software-design-patterns/158/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s