components of your application. • defines the information flow between components • gives structure and purpose to your classes • intended to simplify your software
in the future? • How extendible does your module need to be? • How will your project scale complexity increases? • How might your architecture break down in the future?
a suggested development pattern • practice architectural code reviews • establish a strict organizational structure • be consistent and diligent • document your work