Under the hood and working with .Net, TDD, Software Design, and Agile Stuff
Everyone,
The "Build your own CAB" series has enjoyed a very warm reception and I thank you all for the compliments I've received over the last couple weeks. Before I go on much farther with the series, I want to open the "story" prioritization up to you all to make sure we talk about the things you care most about before I run out of steam on this one. I'm finishing up the Passive View pattern right after this, but after that I'll leave it up to you.
Here are the topics I have in mind:
- Assigning responsibilities to the Model View Presenter triad
- Patterns of View/Controller communication
- Presentation Model - a different take on Humble View's
- Synchronization issues with the backend
- What are the options for the Model? (short)
- Using the Notification Pattern. Performing input validation in the Domain Model and connecting these errors to the screen elements
- Pluggability -- tricks and examples for wiring together UI components with StructureMap
- Event Aggregator -- coordinating events to disparate screen elements in a loosely coupled manner
- Subcutaneous Testing
- MicroController, a recipe for better screen element synchronization. I've written a partial replacement for data binding that bakes in declarative screen element behavior and testability
- Building an Application Shell -- I've got 3-4 different examples of building an ApplicationShell/ApplicationController to handle navigation and screen coordination
- Driving WinForms through Fitnesse/StoryTeller tests. What's worked for me, and what's bombed.
- Applying NUnitForms (I'm an admin on NUnitForms, and it never gets the attention it deserves)
If you've got a preference, just let me know.
Thanks,
Jeremy
About Jeremy D. Miller
Jeremy began his IT career writing "Shadow IT" applications to automate his engineering documentation, then wandered into software development because it looked like more fun. Jeremy previously worked as a systems architect building mission critical supply chain software for a Fortune 100 company and learned agile development practices as a .Net consultant at ThoughtWorks, one of the pioneers of agile development. Jeremy is the author of the open source StructureMap (http://structuremap.sourceforge.net) tool for Dependency Injection with .Net and the forthcoming StoryTeller (http://storyteller.tigris.org) tool for supercharged FIT testing in .Net. Jeremy's thoughts on just about everything software related can be found on his weblog "The Shade Tree Developer" at http://codebetter.com/blogs/jeremy.miller, part of the popular CodeBetter site. Jeremy is a Microsoft MVP for C#.