فلسفة تصميم برمجيات تفصل الكود إلى طبقات دائرية.
تجعل النظام مستقلاً عن الأطر وقواعد البيانات وقابلاً للاختبار.