Built-in Contoller separation with Monorail

Just a small item to note, but I’m really glad to see it:

When using Monorail it’s possible to easily store your controllers in an assembly outside of the monorail web application by specifying the controller assembly in the web.config


This gives nice clean separation of the controllers and the views.

Monorail does indeed rock  🙂


One thought on “Built-in Contoller separation with Monorail

  1. I think this confuses deployment strategies from coupling concerns.

    The reason you separate views and controllers is to lower coupling of unrelated functional units. To lower the cost of a change. So you do this in code structure with the usual design patterns.

    The reason you choose an assembly breakdown is to optimize the deploy time granularity. To allow alternate release times or version selection.

    Now there may be a reason that Castle allows you to select the assemblies with controllers but I would think it is more to do with the need to integrate with existing web structures than to isolate controller code into a special assembly.

    However, VS force you to create more assemblies than you need. The project management structure is so poor that you have to create new projects to isolate architectural layers which forces a new assembly when you know that all the code is always going to be deployed together. No need to copy two assemblies to one server when one will do.

    Hum, it is possible that Castle has added this controllers assembly feature to get around the VS problem. Add something bad to fix one bad problem, perhaps they cancel out.

    An analog might be the dude that sawed off his arm. At first sight it appears to be a bad thing to do but when you learn that he did it to escape the bolder resting on his hand you can see that, perhaps, he has the right idea.

    Crap, produces crap, and sometimes the right crap makes it palatable. Just look at what struts did for JSP.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s