Common architectural approaches are: 1) The big ball of mud: Great for rapid development, but not so appropriate for stable production purposes. 2) Dependency injection: A half-baked solution that you should avoid. 3) Element architecture: It’s maintainable and brilliant for stable production releases.