I’ve been Internet-less for a few days and it’s been killing me. Internet is like coffee—it makes the world go round!
I’ve made a few updates to Yodelay that I wanted to tell you about.
First, I added an ASP .NET MVC project. I wanted to see if I could use the MVVM pattern in ASP .NET MVC. I’m not completely happy with my implementation, and the UI is kind of rough, but it works. I’ll work on cleaning it up later.
Second, I added a library for non-attribute-based validation. My problem with validation frameworks that rely on attributes is that I don’t always have access to the code for the classes I need to create business rules for. The new library uses a fluent API to configure rules for classes and properties.
Example:
ConfigureRules.ForType<BusinessObject>() .If(e => e.Id > 0) .Property(e => e.Name) .Must.Not().BeNull();
var testObject = new BusinessObject() {Id = 1, Name = "Testing" };
Rules.Enforce(testObject);
Third, I added some extension methods for the Range class which allow the developer to test for adjacent, intersecting, and disjoint ranges. Further, the range API will now find gaps in lists of ranges.
Finally, I removed the assembly signing. When I added the key files before, I password-protected them. This makes it hard for people who download the source code to compile it. I’ve removed all assembly-signing for the short term. When I”m ready to build and installation package, I’ll resign the files without password protection.