Table of Contents

IT:AD:Design:Blueprints:Initialization

Summary

Starting an application – getting it from a state of uselessness in the form of *.dll's sitting on the hard-drive, to a state of in-memory, ready for use, cached for performance, synchronized for scalability, etc. – takes a lot.

And yet…it's usually left to just a development process of not much more thought than fiddling till the the yellow screen of death is finally gone.

That's not a strategy.

Notes

Quick List of common startup activities

Use an Dependency Inversion Container System

Study after study after study clearly demonstrate that the reason for projects being unmaintainable is…making monolithic software with tight coupling.

Yet…year after year, I watch enterprise developers start new software projects choosing technologies that promote tight coupling.

Stop!

Using a Dependency Inversion Container system – such as Unity/, Ninject/ or any other is a prerequisite to delivering maintainable value to a client.

It's so important, so basic a competence, that at this time I will not lead or be involved in any way on a software project that does not use it.

Bootstrapping

Dependency Inversion solves many problems – but brings with it challenges – especially at the initialization stage.

Resources