Common development principles for xLim

In this post I’ll attempt to cover briefly major guidelines and principles that proved useful for this approach. The following principles are recommended to be followed for the efficient xLim 2 development: Employ version control and continuous integration (using only dedicated server for the releases) Great deal of xLim solutions’ business value is stored in …

How to implement complex UI composition in xLim?

Here’s another post that continues the topic of xLim extensibility and originates from Ayende’s blog. He has posted on an interesting problem of view composition. Here’s quick possible solution for the initial problem within the xLim 2 concept: Define reusable composite view that is just a wrapper for the list of views and their parameters public sealed class CompositeView …

Developer Express has announced DXperience 2008 vol 1 beta

There are quire a few breaking changes for this one, although they seem to be just minor things. List of changes in this version is available as well. A couple of remarks on the changes: Rich Text Editor for ASP.NET 2.0 (Desktop version is probably lurking around somewhere as well) TreeView-Grid Hybrid for ASP.NET 2.0 Some unit tests …

Managing the flexibility

Basically, the capabilities of any given xLim 2.0 application are defined by the modules that have been loaded. Modules, when they are loaded, can do all sorts of complex things with .NET code: Register business objects. Register new components with different scopes, ownership, registration procedures (lambda, factory, reflection, instance etc) Resolve components registered by other modules and …

You can build a house with big LEGO blocks. Can you add a nice porch?

Company buys some business framework that seems to match their needs in the short-term perspective. It is easy and fun to use it initially – you just need to work with some big building blocks and the framework will do the rest for you. As the time goes, company gets to met new requirements that …

Organization of xLim solutions: development, svn and integration

Note, that I will not explicitly address database management in this structure (folder for the db-create, chained revision-based .cs and .sql upgrade scripts etc), since the XPO manages most part of the complexity here. Below you will find the folder structure for the root of your version control repository. *SVN:* Doc – development-related docs 000 …

One more usage of the XtraLayoutControl – cross-platform UI designer

DevExperience has a nice control called XtraLayoutControl. Basically it allows you to have your own form designer at run-time. But it can easily do more than just reshuffling of existing items for the Desktop UI. You can design forms that will be rendered on Desktop and Web alike. eXpressAppFramework team has started using its capabilities …

Development meets virtualization – installing Windows Server 2008

Let’s go on with the saga of installing and configuring virtualization server for the efficient .NET development. Primary requirements for such a development server are: 64 bit OS (to utilize more than 4 GBs of RAM and leverage Intel Core 2 CPUs natively) Efficient virtualization (to provide virtual development sandbox environment) Cheap Simple and easy deployment and management Note, …

Dynamic Linq and Expression Parsing in .NET as a hint of C# compiler extensibility

There is a DbLinq provider for multiple non MS-SQL databases. The project is open-source and hosted on the Google Projects under MIT license. It is even more interesting, however, that it contains dynamic expression parser that allows code like this one to execute: sealed class Order {   public double SubTotal { get; set; }   public …

Extending Lokad Rules for better .NET Domain Driven Development Experience

public static void ValidateIdentity(Identity identity, IScope scope) { scope.Validate(identity.Name, “Name”, StringIs.ValidEmail); scope.Validate(identity.Pass, “Pass”, StringIs.Limited(3,64)); } Almost everything is sticking to the DRY principle here (with the ability to shape the validation in any way, since that’s plain code). Well, everything except for one thing – name of the property being checked. We duplicate it as …