This is the third post of a three-part series that discusses the use of the ValidationAspects aspect library for business object validation and its integration in different application layers. This time the (server-side) validation aspects are "translated" to (client-side) validations of ASP.NET MVC application web pages, using the xVal framework to do the mapping...
Validation is one of the most important objectives when crafting a domain. Domain objects must be sheltered from invalid property and method arguments. Moreover, it is sometimes necessary to explicitly validate an object's state, for example to enforce business rules. This is the second post of a three-part series that discusses the use of the ValidationAspects aspect library in different application layers to do this, this time looking at NHibernate integration...
Validation is one of the most important objectives when crafting a domain. Domain objects must be sheltered from invalid property and method argument values. Moreover, it is sometimes necessary to explicitly validate an object's state, for example to enforce business rules. This is the first post of a three-part series that discusses the use of the ValidationAspects aspect library in different application layers to do this...
A developer might occasionally write down some informal piece of text during development. This post shows a method how such ad-hoc produced content can easily be integrated and referenced in a test report...
From time to time (and when there's room for it, of course), I'm doing a Code Kata to keep my programming fingers flexible and to see myself programming outside the usual business context. Lately, I did the KataPotter , and doing it gave me some valuable insights into my coding process...
I am practicing Test Driven Development (TDD) for some time now, and I hardly can imagine writing software another way nowadays, or could even imagine a reason why I should do so. Time to reflect upon my personal reasons for practicing and being so convinced about this technique...
Sometimes, unit testing/test-driving a certain piece of code is very painful and complicated, because the respective component has lots of dependencies. In such a case we usually decide not to unit test the respective component, simply because it wouldn't pay. The route table in an ASP.NET MVC application is such a component. To help with that, this post presents an easy-to-use base class for a test fixture targeting an ASP.NET MVC application's route table...
As a freelancer who is constantly selling his skills on the free market, I always have to be up to date and keep myself informed about the latest technologies - at least cursory. Although you easily can go overboard with that, not doing it is just not an option, if you have to maintain your competence. Continuous learning and continuous improvement are integral parts of a software developer's professional life, and this post is about what I do for it and how I handle it...
NHibernate uses lazy loading by default, which is generally a good thing. But when applied to polymorphic objects, this can lead to unexpected behaviour and serious problems - the first two parts of this series talked about that. This post - together with its predecessor - demonstrates a technique to make NH create lazy-loading proxies for a concrete subclass instead of for an abstract superclass, thus avoiding some quite nasty, hard-to-debug and hard-to-understand pitfalls...
Lately, there was a blog post by Joel Spolsky called "The Duct Tape Programmer", which is very opinionated and caused quite a lot of responses and discussions in the blogosphere. Basically, this post contrasted the duct tape worldview of developing software to the astronaut architect's, forcing programmers to decide between quick-and-dirty solutions on the one side and analysis paralysis on the other. While all objective arguments against that are already made, here are some additional thoughts.