Blog

Luis Majano

November 20, 2017

Spread the word


Share your thoughts


Here are our slides from our ColdBox Hierarchical MVC presentation at this year's Adobe ColdFusion Summit. You can also find the source code for our demo here: https://github.com/lmajano/hmvc-presso-demo or you can install it via CommandBox: box install lmajano/hmvc-presso-demo.


10 years ago, MVC was all the rage in web apps. It taught us to take our mountain of spaghetti code and start to call forth layers; separating the responsibilities of our code. This was great, but the way we should build apps has evolved again and this time it's away from monolithic app design and into modularity. Instead of having one giant custom-built application, there are huge advantages to separating the functional pieces of your code as well to break large applications down into many smaller pieces.

This can make for easier maintenance on a large codebase -- even across multiple teams and repos. It can help you focus on microservices of isolated functionality. And most importantly, it really opens up the door for code reuse-- especially other people's code from the community that has drop-in value for your application.

Let's dive into what a modular MVC architecture looks like in ColdFusion (CFML) using ColdBox 5, how to break apart large applications, write reusable libraries with hassle-free installation, and track our dependencies from the CLI for easy management and automation. This is the future of modern app development. The power of modularity will keep your skills relevant and your architecture extensible. Don't get stuck back in 2005!

Add Your Comment

Recent Entries

12 Days of BoxLang - Day 4: TestBox

12 Days of BoxLang - Day 4: TestBox

Today we’re celebrating one of the most exciting new additions to the BoxLang ecosystem:

the TestBox BoxLang CLI Runner — a fast, native way to run your TestBox tests directly through the BoxLang Runtime. ⚡

No server required. No CommandBox needed. Just pure, ultra-fast BoxLang-powered testing from the command lineon Windows, Mac, and Linux.

If you’re building modern applications with BoxLang — web apps, CLIs, serverless functions, Android apps, or OS-level utilities — this new feature gives you a unified, flexible testing workflow you can run anywhere.

Victor Campos
Victor Campos
December 13, 2025
12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025