Inversion of control and spiralling flash development costs
A lot of people ask me why flash development is so expensive and difficult these days. One reason that I’d point to is the increased complexity of modern flash websites as compared to the stuff we were doing ten years ago.
I think this is best summed up in the Wikipedia article on the Inversion of Control (IoC) design pattern:
” The price paid for that additional flexibility is greatly increased complexity and the fact that the program is no longer deterministic: it’s no longer possible to tell what functions will be called just by looking at the code; one needs to consider the code and the environment to be able to determine the order of events. The code is also much harder to write and reason about, and computations that are naturally sequential (A needs to happen before B, such as User name must be provided before the login can be successful) can be much harder to write and understand.”
I think most people who’ve come onto any reasonably large AS2/AS3 project which is already in progress and had to get their head around a large body of code will know this.
Complexity = Cost.
What are we going to do about it?