The day when the software industry makes its mind

A confused man with multiple directions in front of him

In year 2000 I started writing code professionally while at uni, before that I was writing code as a hobby. I was fascinated by all the best practices I should follow: I shouldn’t use HTML tables for design; they are horrible, I shouldn’t write JavaScript inside my HTML I should do it obtrusively, I should not do database business logic in my code, I would violate the separation layers and I will mix business logic with database logic etc… Fast forward two decades later, I learned to take everything I hear with a pinch of salt!

The Do it, Don’t, Do it, Don’t Approach

They tell you do it; it is good; they tell you not; it isn’t then they change their mind a few years later, then again and again.

Writing server-side code in your HTML

Read More

Ten software keywords that make you look smarter

A guy with a thick eye glasses and nerd look

They say the coat doesn’t make the man, I say the right quote can make a developer punch above the waistline. In this post, I selected a group of my favourite keywords which make me smile and think “nerd” every time I hear one.

Read More

Implementing a CQRS architecture with MVC and Document DB

MVC MongoDB Ninject CQRS

This is a sample implementation of ASP.NET MVC4, MongoDB and Ninject to act as a starting template if you are going to use these technologies in your project with a CQRS pattern.

Audience

If most of these terms look unfamiliar then this post is probably not for you: CQRS, Repository, Aggregate (of DDD), NuGet, Unit Testing, Dependency Injection, Document DB. Due to the scope of this post, I won’t be able to go in details in any of these topics as this is a direct implementation.

Greg Young did a few paragraphs intro on CQRS here: CQRS, Task Based UIs, Event Sourcing agh, if you want a simple intro I recommend at least reading the first half of Greg’s post (before the Event Sourcing).

Scope and Definition

In this post, I mean the plain-CQRS pattern and not the whole patterns that are associated with CQRS. Plain CQRS opens the door for other patterns such as Event Sourcing and ES is usually associated with CQRS. This is the plain CQRS with no other associated pattern.

Read More

5 Essential Front-End tools you should use with MVC Projects

Microsoft is doing a good job in shipping standard front-end libraries with Visual Studio 2012 “ASP.NET MVC 4 Web Application” and “ASP.NET Web Forms Application” templates, they are raising the bar for the .NET web developers.

The VS template is a good starting base, however, I have been adding the libraries of this post to every new web project, they act as a completion to the ones shipped with VS and I wanted to share them with you.

Read More

A call To drop the SOLID's "Open Closed Principle"

SLID

The OCP or “The Open Closed Principle” is the popular “O” from the SOLID principles of Object-Oriented Design.

As an architect consultant working in London, I get a question about SOLID, every other interview. As usually the interview is about an hour, I answer the question by an out-of-the-textbook type of answer, otherwise, the interview will span for hours. I keep my opinions for myself and I am a happy puppy.

Read More