This web site uses cookies. By using the site you accept the cookie policy.This message is for compliance with the UK ICO law.

<< Previous | 1 | 2 | Next >> |
Big O Notation BasicsBig O Notation Basics
Big O notation is a mathematical notation that can be applied to algorithms to describe their computation complexity. It gives a guide to the scalability of an algorithm as the number of items in the input data that it processes increases.
Test-Driven DevelopmentTest-Driven Development
Test-driven development is a process that assists in creating high quality, well designed, loosely coupled and maintainable code that can be refactored with confidence. The process relies on writing unit tests before creating the code that they validate.
Fluent InterfacesFluent Interfaces
Sometimes the public interfaces of object-oriented libraries lead to complex code that can be difficult to quickly understand. Fluent interfaces change the way that classes are written in order to help developers create code that mirrors natural language.
The Law of DemeterThe Law of Demeter
Coupling in object-oriented software indicates the level to which classes are reliant upon each other. A tightly coupled system is usually harder to maintain and modify than a loosely coupled one. The Law of Demeter addresses a specific coupling problem.
Parallel ProgrammingParallel Programming
This is the first in a series of articles introducing the parallel programming techniques that are available in the C# programming language and the .NET framework version 4.0. The first part describes some of the concepts of parallel programming.
Dependency Inversion PrincipleDependency Inversion Principle
The sixth and final article in the SOLID Principles series describes the Dependency Inversion Principle (DIP). The DIP states that high level modules should not depend upon low level modules and that abstractions should not depend upon details.
Interface Segregation PrincipleInterface Segregation Principle
The fifth article in the SOLID Principles series describes the Interface Segregation Principle (ISP). The ISP specifies that clients should not be forced to depend upon interfaces that they do not use. Instead, those interfaces should be minimised.
Is a Square a Rectangle?Is a Square a Rectangle?
In Geometry, a square is a special case of rectangle where the height and width of the shape are equal. When modelling squares and rectangles in object-oriented programming languages, defining this relationship can lead to unexpected bugs.
Liskov Substitution PrincipleLiskov Substitution Principle
The fourth article in the SOLID Principles series describes the Liskov Substitution Principle (LSP). The LSP specifies that functions that use pointers of references to base classes must be able to use objects of derived classes without knowing it.
Open / Closed PrincipleOpen / Closed Principle
The third article in the SOLID Principles series describes the Open / Closed Principle (OCP). The OCP states that all classes and similar units of source code should be open for extension but closed for modification.
<< Previous | 1 | 2 | Next >> |