mhinze.com

Matt Hinze, learning in public

SubControllers and ViewModel

SubControllers solved a big problem for us when we first started our current project.  I posted about them back in the day.
The problem was isolating authorization to view sections of a page.  In other words, if you didn’t have permission X, you couldn’t see the top-left section of the screen.  If you didn’t have permission [...]

More On Value Objects

A few days ago Dylan Beattie wrote a nice post about value objects.  He explains the idea in a more palatable way than my attempt:
If it’s not clear how to model a particular element in your model, try asking “which one?” If the question makes sense within your own scenario then you’re probably dealing with [...]

Practical IOC slides and code

Last night I presented a talk titled Practical Inversion Of Control to a packed house at the Austin .NET User Group.  It was a blast.  I’d guess there were 80 developers there, maybe more.  Interestingly, when I asked the room “Who uses an IOC tool at work,” about 10 hands went up, at the most.
I [...]

Presenting at ADNUG

I’m presenting a talk titled Practical Inversion of Control at the Austin .Net User Group on Monday.  This will be a beginner to intermediate level session in which we’ll answer the “what”, “why” and “how” questions about IOC and explore both basic and more interesting usage scenarios …

Adding to a Value Object property always adds to it, never adds another instance to it.  Distinguishing Value Objects by maintaining a collection of them implies identity.
It is a mistake to attempt to maintain a collection of Value Objects.
Let’s take the near-canonical Address, a perfectly valid Value Object as described on page 98 of [...]

Passing objects to SubControllers

SubControllers are MVC Controllers that are also parameters to your action methods.  Incorporating their use in large systems allows for composition, dependency inversion, and separation of concerns.
Sometimes we want Controller actions to pass objects into SubControllers so that the SubControllers can do interesting things with them. 
For example, in a Product Controller we have the [...]

SubControllers in ASP.NET MVC

I should have known something was up when I caught Jeffrey Palermo (my boss at Headspring) browsing the ASP.NET MVC Preview 5 source.
We’re working on a enterprise web application using ASP.NET MVC.  That week one of our tasks was to create a rather complex page full of robust components that did intricate little things [...]

A few thoughts

Microsoft wants you to think of a web page as an action, but it’s really a collection of subcontrollers.
Mahendra Mavani is one of the very talented software engineers working at Headspring and he knows all the obscure Resharper shortcuts (serious geek cred).
Coding is an indulgent, wasteful activity.  Design is best done away from the keyboard.  [...]

User Story Execution Process

Select (story | task) from story wall
Move task card to “In Progress” column
Model code that needs to be written (use object model and sequence diagrams)
Create technical tasks needed for completion
Get team member to review design
Mark each technical task as “pair” or “single”
Test-drive code to completion according to design.  Commit changes along [...]

Obligatory Utility Roundup Post

I have set up a few new PCs lately in the course of getting set up on my new job.  Here is what I install:

Windows XP SP3 – Vista too much friction

Use BlackViper’s Safe config
Turn off System Restore
Pop a shortcut to Start Menu in my SendTo folder for easy/lazy Launchy indexing)
Set up my folder views [...]