Sponsored By

Understanding Dependencies

You need them, but you don't want them.

Ivica Aracic, Blogger

October 1, 2010

1 Min Read
Game Developer logo in a gray background | Game Developer

I am software engineer now for more than 10 years and I read tons of books, articles and papers on this topic. But thinking back and connecting dots, I think the most significant article contributing to a boost of my knowledge and skill was:

Design Principles and Design Patterns written by Robert Martin.

Reading this, I realized (beside other important things) that understanding how to manage dependencies is crucial for constructing good software systems.

Why? Because dependencies ^= complexity and reducing the complexity directly contributes to improvements in almost any thinkable software -ility. For instance:

reusability - reusing something with lot of dependencies is difficult, because most likely it will not fit in a new context.

understandibility - systems with less dependencies are easier to understand, because parts of the system can be analyzed in isolation.

flexibility - systems with less dependencies are flexible, because the changes have better chances to stay isolated in a small part of the system.

Read more about:

Blogs
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like