Chapter 3: The return of the Lego´s
Once again, my life was faced again with ethical dilemmas, world changing questions, and some comparisons between Lego bricks and a component in this software architecture course.
Original poster of that class |
This time´s blog is aimed towards
the chapter 14 from Pete Goodliffe’s book “Code Craft: The Practice of Writing
Excellent Code.”, where the topic of software architecture foundations was
approached. As well as conventional architecture, it isn’t the act of building
that we are focusing on, neither on the design of the building, but in the
design of the blueprints (And that’s how far my “conventional architecture”
knowledge goes). However, there are a lot of other topics covered abroad
building blueprints, starting with points
of view, components, and the different styles used to design software
architecture.
I think that many of us
(programmers) may jump directly into software design and then immediately start
coding. And while that extra step
before coding helps how we approach the problem, sometimes it is not enough.
Software architecture is needed for having a solid foundation from the
beginning of a project, avoiding huge problems along the way. One of the
benefits I like the most of this type of planning is how we prepare for
upcoming changes; it is very important to know from the start which elements or
components are probable to stay the same through the implementation of the
system or which parts are likely to change. Something important (that is often
omitted by us) is documentation. While this is the design of the blueprint,
each detail and decision must be documented for later consulting.
However, with all those
considerations, a good system architecture is simple; there must be a balance.
There should be neither too few nor too many components. It also identifies the
key components, not how they work, as well as leave space for extensions and
modifications, but has defined uses too. In conclusion, the key word in laying
the foundations of software design is “Balance”, we have to reach the halfway
in each section of the architecture so we can accomplish the best possible
system design.
References:
Goodliffe Pete (2006). Code Craft: The Practice of Writing Excellent Code.
References:
Goodliffe Pete (2006). Code Craft: The Practice of Writing Excellent Code.
Comments
Post a Comment