Visual Studio Team Services – Dumping out Build and Release Variable Values

I use Visual Studio Team Service (VSTS) as part of my DevOps process for end to end Continuous Integration (CI) and Continuous Delivery (CD). As the product grows so does the number of built in variables and whilst the documentation explains the variables you have available, understanding what the values are can be tricky. At … More Visual Studio Team Services – Dumping out Build and Release Variable Values

ES6 – Classes

Javascript ES6 has come a long way to look like regular OOP languages and move away from looking functional or prototypical. This probably upsets quite a few dev’s but not me. I don’t particularly like Javascript so anytime I can get my classes looking like the classes in C# for example is all good to … More ES6 – Classes

x86-x64 Registers

I have been helping my nephew with some Assembly Language coursework for his Masters in Computer Science at UCL in London and I decided to produce this register diagram. I am putting here for easy reference.

SOLID Principles – Part 06 – Dependency Inversion Principle

Principle Classes that depend on other classes should depend on abstractions rather than concrete implementations. This makes the classes much more flexible to changing implementations. Scenario To demonstrate ISP I will continue using the E-Commerce example from the previous blog. A customer has an order which includes multiple order items. Given an order we calculate … More SOLID Principles – Part 06 – Dependency Inversion Principle

SOLID Principles – Part 05 – Interface Segregation Principle

Principle Functionality should be broken into specific interfaces rather than one all-purpose interface. This means clients are not be forced to depend upon methods that they do not use. Scenario To demonstrate ISP I will continue using the E-Commerce example from the previous blog. A customer has an order which includes multiple order items. Given … More SOLID Principles – Part 05 – Interface Segregation Principle

SOLID Principles – Part 04 – Liskov Substitution Principle

Principle This principle is an extension of the Open Close Principle and was first introduced by Barbara Liskov during a conference keynote speech. We need to ensure that new derived classes are extending the base classes without changing their behaviour. You should be able to replace a class with its base type without altering the … More SOLID Principles – Part 04 – Liskov Substitution Principle

SOLID Principles – Part 03 – Open Closed Principle

Principle A class, properties and methods should be open for extension but closed for modification. E.g. If we need to add new functionality to a class, it should be added using a derived class. Scenario To demonstrate OCP I will continue using the E-Commerce example from the previous blog. A customer has an order which … More SOLID Principles – Part 03 – Open Closed Principle