Upcoming Classes
Real-World OO Programming
There’s so much hype and so many buzzwords surrounding object oriented
programming, do you sometimes wonder if there’s anything behind the PR?
In this class, you’ll learn to master the art and science of
writing OO applications—and put it to use to
create apps that are easier to build and maintain.
Feb. 23-27, 2009 Sarasota, FL
Newsletter Sign-Up
By signing up for my Occasional Newsletter, you’ll also be kept informed of upcoming training.
Are You OO-Ready?
Take My Test
Hal Helms
|
| |
|
Training
|
Hotel accommodations are included in event price! |
|
Real-World OO Programming |
 |
| |
|
Location: Sarasota, FL
February 23 – 27 2009
( class size limited )
The field of Object Orientation is rich with topics: class definitions, object interactions, inheritance, polymorphism, encapsulation, abstraction, aggregation, composition. Of great frustration is the fact that you can learn a fair amount about each of these subjects, yet still have no idea how to build a well-designed and constructed OO application. If you're struggling to get real benefits from your OO development, this class will come as a welcome relief.
Rather than having individual units (e.g. "Encapsulation 101", "Design Patterns"), this intense class takes a more integrated approach -- one I've found to be particularly effective at helping OO programmers cohere all of the individual aspects of OO into a workable whole. What's the class like?
... more details
|
Register Now
Investment: $2,700
Includes all five days + breakfast & accommodations!
|
Hotel Details
Homewood Suites Sarasota
Resevations: 1-941-365-7300
Group: Hal Helms Training
Free accommodations for all attendees. Must call reservation line and book room. Credit card will be required for incidentals but nightly room rate is included.
|
|
WHAT YOU'LL LEARN:
- Starting with a completed prototype for an application we'll build during the five days of this class, we begin the process of creating a suitable software architecture.
- The basis for a good OO software architecture is the domain model.
- Students begin by exploring the domain in coversation and developing a ubiquitous language.
- As they learn more about the domain, they begin drawing out application requirements.
-
Students then begin planning a layered architecture beginning with the
- User Interface (top level)
- Application Components (second level)
- Domain Objects (third level) followed by
- Infrastructure Components (bottom level)
- Students translate the domain model into UML diagrams.
- Using a prototype provided, students create a structure for a Model-View-Controller application.
-
Students learn about all objects extending the base Object.cfc that provides features missing in ColdFusion, including
- default initialization of instance variables
- object identity
- automatic getters and setters
- facility for adding mixins
- visual tree representation of object properties (including aggregated objects)
- creation of mock objects
- Learning about common design patterns, students refactor their domain model and application objects to provide a robust Application Programming Interface (API).
- Students then write the code to make the application function, learning best practices in ColdFusion CFCs
- After the code successfully runs, students learn that one of the main functions of a database is to act as an object persistence mechanism.
- A Entity/Relationship diagram is produced that maintains relational integrity and normalization while fulfilling its main role as object persistor.
- Students learn about implementing two related design patterns: Data Access Objects (DAOs) and Gateway to assist in persisting objects.
At the end of the class, you'll have a thorough understanding of how to build OO applications that you'll be able to implement at your work. You'll return home with:
WHAT YOU'LL TAKE AWAY:
- My Object.cfc class that provides the important methods that ColdFusion leaves out.
- My ObjectExplorer.cfc. Frankly, I can't imagine doing any kind of OO work without this -- it's just too helpful. It's what CFDUMP should have been for CFCs.
- My SynchronizedQueryRepository.cfc that supports multi-user inline editing. When combined with CFAJAXPROXY and a bit of jQuery, you can offer much better user interfaces while protecting data from accidental overwrites.
- My FormAssistant.cfc that will allow you to do both client and server form validation with the same code.
- All of the class code that you (and your fellow students) work on during the class.
And once you're back at work, you'll have access to a new benefit I'm offering: two months of free access to mentoring.halhelms.com -- an exclusive forum for my students.
With the help of prolific blogger and ColdFusion guru, Ben Nadel, I will be monitoring and participating on the forum to help get your questions answered.
|
|
| |
 |
|
Need Help Convincing Your Manager?
Want to go to a great training class? Of course you do! But what does your manager want?
Managers have to make tough decisions—never more so than in a serious economic downturn.
This small PDF speaks to your manager, laying out the case why sending you to training is the smart move in just such times.
Download Now |
|
|
| |
|
| |
 |
|
Are You OO-Ready?
So, you think you’ve got your OO ducks in a row, eh? Well, let’s just see about that.
My OO-Readiness quiz will help you gauge how extensive your knowledge is. But be warned: it’s hard!
Take The Quiz |
|
|
|
|