No matter what we build, there is always a foundation of some sort.  In software, the core component architecture provides us that foundation.  These are the models or objects that provide the framework for all of the other functions.  When you design these core pieces of your solution, it is essential to get them right.  When you fail to do this, you will have problems throughout the system.

It Starts With The Problem

Once again, we refer back to the primary problem or problems we are solving.  The solution will require certain pieces of data and functionality that will impact the entire solution.  These items may include security, standard functions, critical data elements, and more.  The core component architecture is not an MVP for the system.  However, it is the collection of items that have to exist and interact to solve the problem.  These are the common denominator aspects of your solution.  Thus, the decisions made here will percolate throughout your application.

Defining The Core Component Architecture

The foundation we are building will become apparent as the pieces of architecture are put into place.  There will be functions, features, and data that show up time and time again as you work through the system.  That is the nature of the core components.  They are the pieces that are “touched” the most as you move through the various processes.  Therefore, improvements (or flaws) in these areas will have the most significant impact overall.

Measure Twice

There is an old saw (pun not intended) about measuring twice and cutting once.  This is important to keep in mind as you work on the core component architecture.  These may not be the flashiest parts of your application.  However, they are the ones that are most important to get right.  

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply