Facade–Thy name is deception

While interacting with groups of developer spanning across domain and companies there are some very consistent observations which can be truly be defined as a Pattern. In coding one of the most prominent word that comes across is – Facade. But is it really used the right way? It appears that its misuse surpass the value of it several times.

Continue reading “Facade–Thy name is deception”

Slum house or Taj?

While discussing with a group of programmers and discussing their design (read critical review) the most common protest I get is “but it’s working”
Is a code giving desired result I’d the ultimate goal?
Continue reading “Slum house or Taj?”

Design Patterns in C++

While having a discussion on Design Patterns there are group of implementers who advocate implementing design patterns using the so called best features of the Programming language. While I too agree, that implementation of patterns should certainly use features of underlying language it could be challenging to decide what defines the best? It seem to be specially true when it comes to programming with C++.

Here is my analysis on the subject based on one my recent discussion with a C++ implementer and his arguments.

Continue reading “Design Patterns in C++”

Mixin

A Mixin is a class that provides a certain functionality to be inherited by a subclass, but is not meant to stand alone. Inheriting from a mixin is not a form of specialisation but is rather a means to collect functionality. A subclass may even choose to inherit most or all of its functionality by inheriting from one or more mixins through multiple Inheritance.

Important Pointers:

  • Mixin is not meant to be stand alone.
  • Inheriting Mixin is not a form of Specialization; It is just a mechanism to collect functionality.
  • A subclass may inherit from more than one Mixin.
  • A subclass may just be implementing most of its functionality by inheriting Mixin.