Curriculum - January
JANUARY 29th 2008 Meeting: Taking our first bite out of the elephant....
Instructor: Bill Kratochvil, Global Webnet, LLC Blog Qualifications CodePlex
INTRODUCTION
What are developers primary goals? To build scalable, extensible reusable components; components that have Unit Test and are proven to work. This will streamline development of future projects ensuring their success. Success means that the team can move on to new projects without having to worry about supporting (or refactoring) the old.
There are existing frameworks available, built and supported by the Microsoft Practices and Patterns teams, which permit you to focus on business rules and not infrastructure (which generally can consume up to 80% of the developers time). These frameworks have labs, tutorials, sample applications and are supported by the community. A few of the more popular frameworks (which we have used at Zachry Engineering over the past 18 months to successfully complete numerous projects) follow:
Note: these frameworks utilitize best patterns and practices of architecture and development.
With these frameworks you can “literally” get an application up and running within an hour - ready to start plugging in business logic. If you have a question there is a forum available where you can ask it.
The reason why they are not more popular is because these frameworks have a reputation for (and can have) a VERY STEEP learning curve, particularly if you do not have fundamental knowledge of Patterns and Dependency Injection principals.
If you understand these - the learning curve will be days to weeks (versus months) and you will be able to layout your infrastructure within a few minutes, and more importantly - focus on your business requirements and complete your objectives within a single sprint (sprint is an Agile term for a programming session that generally last 30 days).
Will you be ready for tomorrows FREE framework which will remove 80% of your development requirements?
CURRICULUM
Where do we start? At the beginning - if you don't see the pattern (pun intended) learning to build reusable components will take a lot longer. We're going to discuss the Presentation Model, MVC and MVP patterns (passive view and supervising controller) as well as touch on Dependency Injection - a major player in todays technology.
- Model-View-Presenter Pattern (MVP)
- Model-View-Controller Pattern (MVC)
- Presentation Model Pattern
- Dependency Injection