Bu esnekliğin temelinde, Joomla'nın üzerine inşa edildiği güçlü MVC (Model-View-Controller) tasarım deseni yatar. MVC, modern yazılım geliştirmede bir standarttır ve uygulamanın iş mantığını, veri katmanını ve sunum katmanını birbirinden kesin çizgilerle ayırır. Joomla dünyasında Model, veritabanı ile konuşan, verileri çeken ve işleyen kısımdır; "en son 5 makaleyi getir" emrini o yerine getirir. Controller, trafiği yöneten polistir; kullanıcının hangi linke tıkladığını analiz eder ve hangi modelin çalışması gerektiğine karar verir. View (Görünüm) ise, modelden gelen ham veriyi (örneğin, makale başlığı, metni, yazar adı) alır ve bunu HTML olarak ekrana nasıl basacağını belirler. Joomla'nın güzelliği, bu "View" katmanını, yani sunum dosyasını, çekirdek yapıdan tamamen koparıp kendi kullandığınız temanın içine güvenli bir şekilde kopyalamanıza izin vermesidir. Sistem bir sayfayı oluştururken önce sizin temanızın içindeki özel dosyaya bakar; eğer orada bir özelleştirme bulursa onu kullanır, bulamazsa çekirdek dosyaya döner.
Pratikte "Template Override" işlemi, Joomla'nın dosya hiyerarşisini anlamayı gerektirir ama mantığı son derece basittir. Diyelim ki standart makale görünümünde yazar adının, makale başlığının üzerinde görünmesini istiyorsunuz. Bunun için çekirdek dosya olan /components/com_content/views/article/tmpl/default.php dosyasını düzenlemek yerine, bu dosyayı kopyalayıp aktif kullandığınız temanın içine, /templates/SİZİN_TEMANIZ/html/com_content/article/default.php yoluna yapıştırırsınız. Artık bu yeni konumdaki dosya üzerinde istediğiniz HTML veya PHP değişikliğini özgürce yapabilirsiniz. Joomla, bir makaleyi göstermesi gerektiğinde, akıllı bir şekilde önce sizin temanızdaki /html klasörüne bakacak ve sizin düzenlediğiniz dosyayı "öncelikli" (override) olarak kabul edecektir. Bu yöntem sayesinde, Joomla çekirdeğini istediğiniz kadar güncelleyin, yaptığınız tasarımsal değişiklikler asla kaybolmaz, çünkü onlar güvenli bir alanda, temanızın koruması altında yaşamaya devam eder. Bu, sadece bir bileşenin görünümünü değil, modüllerin hatta basit bir "devamını oku" butonunun HTML çıktısını bile tamamen yeniden yazmanıza olanak tanıyan sınırsız bir özgürlük alanıdır.