on laying concrete
Substantial applications require a solid infrastructure. An infrastructure or framework dictates the organization and interaction of core components. The design of a framework and the derivative applications to follow is an expression of art.
Software is built in small incremental steps, layer upon layer. The layout and modularity of these layers or building blocks will affect every facet of development from that point on. Careful consideration must be given to laying a solid foundation. The underpinnings of your architecture can ease further development or hinder it. Think about it. The way in which you structure your application today may grind development to a halt tomorrow. It may become too costly to extend the system. Even worse, the system may become completely unusable beyond a certain point.
Unfortunately, doing things the wrong way is often the case. This is expected because the problem domain is fuzzy. As development continues the picture becomes clearer and the problem crystallizes. A well-defined problem reveals a well-defined solution. Code must constantly be refactored as new insights are brought into the fold. Charge off into the unknown. Just make sure you come back and refactor what you’ve learned into an elegant solution.
Leave a Reply
You must be logged in to post a comment.