Inversion of Control
摘要
Inversion of control involves reversing the usual flow of control from caller code to called code to achieve separation of concerns and loose coupling. It allows us to build sophisticated applications while keeping the overall design complexity down to a manageable level. One of the main realizations of the principle takes the form of the OBSERVER pattern. This pattern is pervasive in software development, and it is realized by most graphical user interface toolkits on most software development platforms, from desktop to web to mobile applications.