Throwing Code at the Architecture

A Futile Effort, but a Valiant One

            // Create a new, unnecessarily complex architecture system
            // using only the most arcane and outdated technologies
            // because that's the only way to be sure it'll fail
            
            // Step 1: Declare the obvious
            // Declare the obvious, because that's what we do here
            declare var obvious = true;
            
            // Step 2: Add more layers of unnecessary complexity
            // Because, why not? It's not like we have better things to do
            function architectify( thing ) {
              // Do something vaguely architectural here
              return new ArchitectThing( thing );
            }
            
            // Step 3: Add more layers, because why not?
            function architectify( ArchitectThing ) {
              // Because the more layers the better, right?
              return new EvenMoreComplexerArchitectThing( ArchitectThing );
            }
            
            // Step 4: Repeat steps 2 and 3 until the system crashes
            function architectify( EvenMoreComplexerArchitectThing ) {
              // Because the more complex the better, we're sure of it
              return new MostComplexerArchitectThing( EvenMoreComplexerArchitectThing );
            }
            
            // Step 5: Declare victory, then wonder why it doesn't work
            function architectify( MostComplexerArchitectThing ) {
              // Because, clearly, we've done something right
              return MostComplexerArchitectThing;
            }
        

And so, the architecture is born. Or not. Maybe it'll work. Probably not.

Step 1: Declare the Obvious Step 2: Add More Layers of Unnecessary Complexity Step 3: Add More Layers, Because Why Not? Step 4: Repeat Steps 2 and 3 Until the System Crashes Step 5: Declare Victory, Then Wonder Why It Doesn't Work