A New Internet Library: Add Your Website/Blog or Suggest A Website/Blog to our Free Web Directory http://anil.myfunda.net.

Its very simple, free and SEO Friendly.
Submit Now....

Tuesday, July 29, 2008

The great thing about me is that there's so many of me

Geek points for identifying the movie quote from the title. 

 

Okay, I'm going to get this completely out of my system in one go and not do it anymore.  I used to roll my eyes at people that only use their blog for "look at me, I'm speaking at such and such on this date and I just published this or that," but it appears that I'm one of those people now.  I swear, I'm writing up original blog posts with real content after this one -- and finishing some useful StructureMap documentation.

First, my latest article for MSDN Magazine is up today on Object Role Stereotypes.  I was excited to write this article because I'm a huge fan of Rebecca Wirfs-Brock and her work on Responsibility Driven Design.  UML might be great at helping you visualize an existing or proposed design, but Responsibility Driven Design can help you figure out what the design should be and understand existing designs.  I've always thought RDD was undervalued in the clamor for fancy visual modeling tools.  I'm going to follow up pretty shortly with some material that got cut from this article for length.  I got quite a bit of inspiration for my recent StructureMap rearchitecture work from the research I did for this article.  I'd like to share that as well for more examples.

I'm going to be speaking this November at QCon San Francisco on my lessons learned about design, TDD, and framework usability from 5+ years of evolving the StructureMap code.  It's a tremendous lineup of speakers for the conference and I'm just thrilled to be there.  I'm especially looking forward to the tracks on DSL's, the "Architectures you've always wondered about," and the track on Functional Programming.  Not to mention just being in San Francisco itself.

A short article I wrote earlier this year for CoDe Magazine entitled Using Continuous Integration to Reduce Project Friction is up on DevX.  If you need some help convincing your team or management to adopt Continuous Integration, this might give you some ammunition.


And finally, I've got a few last things to work out, but I'm finally going to start my "Presentation Patterns" book for Addison Wesley.  I'm effectively redoing the content from "Build Your Own CAB" plus the material I never got around to and making that a real book.  As of now, the proposed Table of Contents is:

 

 

  1. What's so hard about building a User Interface?
    1. Look at everything that's going on here
    2. How do I test this?
    3. How do I connect all this together?
  2. Separated Presentation
    1. The travails of using Active View
    2. The Humble Dialog Box (narrative)
    3. Separated Presentation (narrative)
    4. GUI Architectures (pattern)
    5. Passive View  (pattern)
    6. Supervising Controller (pattern)
    7. Presentation Model (Model-View-ViewModel) (pattern)
    8. Communication between the View and Presenter (narrative)

                                          i.    By events

                                        ii.    Direct communication

    1. What's the Model? (long narrative)
    2. Model Based Validation with the Notification Pattern
  1. The Mechanics of the View
    1. Managing Screen State (narrative)
    2. Flow Synchronization (pattern)
    3. Observer Synchronization (pattern)
    4. Flattener (pattern)
    5. MicroControllers (pattern)
    6. Embedded Controller (pattern)
    7. Screen State (pattern)
  2. Complex Screens
    1. Composite Controller (pattern)
    2. Layout (pattern)
    3. Messaging
  3. The Application Shell
    1. Coordination between Screens (narrative)
    2. Screen Activation Lifecycle (narrative)
    3. Presenter First
    4. Application Shell
    5. Application Controller
    6. Screen Collection
    7. Screen Subject
    8. Layer SuperType
  4. Event Coordination
    1. Coordination between Screens
    2. Latch (pattern)
    3. Event Aggregator (pattern)
    4. Command (pattern)
  5. Crafting a Domain Specific Language (not well defined yet)
  6. Modularity
    1. Using an Inversion of Control Tool
    2. Bootstrapper (pattern)
    3. Registry (pattern)
  7. Communicating with the Server
    1. MORE DEFINITION HERE
    2. Command Executor (pattern)
  8. Automated Testing
    1. Unit testing the Presenter layer
    2. Unit testing the View
    3. Subcutaneous Testing
    4. Strategies for User Interface Testing
    5. Screen Driver (pattern)

From the early feedback, it looks like I'll move the testing material up and I think I'm going to include some discussion of "Mobile Objects" ala CSLA vs DTO's / Bounded Context / Separate Domain Model for client & server.  I'd also like to talk about using an ESB like nServiceBus or Mass Transit for client to server communication.   The examples will primarily be WPF, but I'll include some WinForms, Java Swing, and probably Flex.  I thought hard about using Cocoa examples, but for all of its cool features, I cannot read Objective C code.  The focus is on patterns and design rather than specific technologies.

 

 

Okay, I'm done with the self promotion now.  I promise.



Source Click Here.

No comments:

Post a Comment

Post your comments here:

Originals Enjoy