Converting Legacy CFML to a Modern MVC Framework
Do you maintain legacy ColdFusion applications, perhaps written with old procedural-style code? Have you been told you should be using a Model-View-Controller (MVC) framework but don't really understand how that works? Does the idea of rewriting the entire application seem like an impossible task? What if you could instead revamp your code in phases, without having to do it all at once?
This workshop will cover:
- What the MVC design pattern is and what problems it solves.
- How the FW/1 and ColdBox frameworks use a convention-based approach to bring consistent structure to an application.
- What Dependency Injection (DI) is, how it simplifies the “model” portion of applications, and how they are used in Framework-1 and ColdBox.
- How to refactor real-world procedural code into MVC-style code.
In the hands-on portion of the workshop we will:
- Analyze and deconstruct a simple procedural application to see what code belongs in the model, the view, and how the controller ties the two together.
- Move the code into the appropriate MVC layers and test it.
- Discuss strategies for migrating large applications in phases.
- Use CommandBox and Git to spin up on-demand instances of ColdFusion and manage our code.
Specific items well build with an MVC framework include:
- Benefits of CFComponents
- Connecting to Web Services and APIs
- Models
- Views
- Controllers
- Options for Validation
- Service Layers
- Subsystems / Modules
- Security
- Layouts / UI Themes
- Using CommandBox to Write Code For You
- Best Practices
This workshop will help anyone with a moderate skill level in ColdFusion, and at least some familiarity with object-oriented programming concepts. This is a very hands-on session; most of the time will be spent writing code. We will take a legacy CFML application and go over the steps involved in moving it to a MVC framework.
Depending on the wants of the students, this workshop can be done with either ColdBox or Framework-1. Length of the workshop is typically 2 or 3 days depending on the number of students and prior experience.
Contact us with any questions or book your training!