Щас вы наслушаетесь кучу архитектурных решений и еще больше запутаетесь =) Сколько людей, столько и решений!
Но исходя из своего опыта могу посоветовать сделать пару вещей:
1. не выдумывайте ничего лишнего и не усложняйте код
2. если проект долгосрочный, всеравно будете рефакторить, поэтому делайте слабое связывание, потом проще будет кусками небольшими править
3. если не много времени, используйте те инструменты которые лучше знаете, даже если есть в 100 раз круче и весь мир их советует =)
Не бывает четких и глобальных архитектурных решений.