System Architecture, the strategy to complex implementations
Imagine you are making a game and you have an item that allows you to switch health with a monster. On level 100 you encounter the Lich King with negative health that takes damage from healing potion. What exactly is supposed to happen when you switch health with the Lich King? This is what system architecture solves or is trying to solve, a strategy to deal with complexity.
Gunshot Architecture
Code by trial and error.