کلاً معماری های نامبرده شده هر کدام جزئی از الگوی معماری نرمافزار می باشند. الگوهای معماری نرمافزار روشهای طراحی استانداردی هستند که با استفاده از آنها یک نرمافزار ساخته می شود.
با در نظر گرفتن این روشها تا جای ممکن ریسک طراحی پایین آمده و از طرفی در آینده درک ساختار و … راحتتر است. البته در نظر بگیرید که بر روی این معماری ها ساعتها توسط مهندسان نرمافزار فکر شده و در نتیجه performance بهتری خواهند داشت.
طبیعتاً یک پروژه scalable نیاز زیادی به طراحی دارد. وگرنه در اواسط پروژه نقاط ضعف طراحی چنان دیده میشود که چند بار اجرا پروژه را فرسایشی میکند و در نهایت به مقصد رسیده نمی شود.
از طرفی ساخت یک Scalabel application نیاز مند مجموعهای از decouple هاست تا ساختار تکه شدهای داشته باشید.
با استفاده از طراحی های مناسب کد شما بیشتر re-usable خواهد بود و از طرفی به علت decouple شدن و تکهتکه بود قسمتهای مختلف امکان test شدن و mock کردن دارند. با به مشکل خوردن یک قسمت بقیه قسمتها کار خود را به خوبی انجام می دهند. در زمان طراحی هم کار به صورت کپسوله شده به دیگران داده می شود.