Web Application Architecture

Frequently I see the same question in many forms; “How do I design a web application architecture”. The simple answer is that all application architectures are different, depending on the actual needs. Instinctively most programmers know what’s required, or at least we think that we do.

The true skill is to realise that we are often wrong and that any architecture design needs to be validated.

Pragmatic approach to application architecture

Pragmatism is one of those often misapplied terms that is often used interchangeable with “in my experience”.

Removal Of Control in object oriented systems

Removal Of Control is a mechanism that will improve the usability, reliability and readability of code. I use commonly, it's similar in what I'm achieving but very different to IoC. The defining difference for me with ROC is:

Removal Of Control allows objects to be less tangled.

Parameter Enumeration Tables.

Usually when designing a database there are a few fields in various tables that define things such as type, category, group. Normally these would be sufficiently important to justify their own entity within the database – so for example you’d have a category table.

WPF Entity Framework Listbox / Datagrid filtering using CollectionViewSource / CollectionView

Filtering a listbox, datagrid, or any list control within WPF for a given entity from an entity framework collection should be easy; and it is once you've figured out how it should work.

Building a modern application in .NET

Recently I was fortunate enough to be in the position of having a completely free hand to choose the technologies for a desktop application, which is a double edged sword. The only technical brief was that it had to be a Windows Desktop application

The ends squeezing the middle in object oriented design.

Often when designing anything it is all to easy to forget the simple fact that when you add 1 to a number you will eventually be doing ADDQ.L #1, D2.

I follow, but not rigidly, the following rules of thumb

If you have a design with 2 classes you probably should be writing something procedural.

If you have a design with more than 30 classes it's probably time to revisit the design.

Breaking rule of thumb no.4

I've just realised that effectively I'm breaking my own rule of thumb No.4 "You don't need to write an application framework", and here I am writing one.

View update complexities

On a page where there are lots of views but all from the same entity there is an interesting challenge when an individual item is updated within a view. Normally this is catered for during a full postback simply because the entire page is recreated dynamically, so it is enough that the post is processed during the construct phase.

However this isn't true when we are using an ajax update to modify an item.

Emesary : Efficient inter-object communication using interfaces and inheritance

A technique that I have been using for a very long time to enable the inner workings of code to be cleaner and more decoupled, easier to maintain and extend.

In essence it is nothing that new - event driven systems have been around for a very long time.
What makes this way of doing things different is that it is very lightweight.

Taking over someone else's code

There will always come a point in any software system where the original developers move on and yet someone has to maintain

Syndicate content