Enlightenment Period

I read and studied Uncle Bob Martin's blog post titled "A Little Architecture".

I would say that this is the time of my enlightenment on how to structure software projects.

                      March 2-4, 2016

"Architecture is not about frameworks and databases and web servers..."

Before this time, I thought architecture is about how to combine all these frameworks together to form an application!

  • Windows Forms for presentation | ADO.NET for data access | SQL Server for database | etc.

  • ASP.NET Web MVC for presentation | Entity Framework for data access | etc.

  • Hot Towel SPA Template for frontend | ASP.NET Web API for backend — Entity Framework for data access | StructureMap as DI Container | SQL Server for database | etc.

... did I place much of my time and attention in the wrong places!?... I'm not sure. Perhaps this is just part of growing up as a programmer through trial-and-error, with no one personally guiding you. :grin:

"The important decisions that a Software Architect makes are the ones that allow you to NOT make the decisions about the database, and the webserver, and the frameworks." — Uncle Bob Martin

Of course I understand that the peak of an enlightenment comes from a series of little enlightenments. So even though this article of Uncle Bob is very special to me, I acknowledge that there are lots of other materials (and experiences) that helped me come into this kind of enlightenment.

I have always been in search for the best way to structure software systems. Now I think I already know the gist of it:

just do your best to separate the business rules from the other parts of the software system.