Monthly Archives

February 2016


UNIVERSAL PREFERENCES: How to remove Shared Preferences boilerplate?

UniversalPreferences is simple Android library that allows you to use Shared Preferences in an easy way. This library allows you to easily to store and retrive values from SharedPreferences without creating lots of boilerplate. Usage Add to your module’s…

Software Engineering

How and when to use Builder pattern?

Introduction The Builder Pattern is creational design pattern that encapsulate the construction of a product and allow it to be constructed in steps. I like to use Builder design pattern when an object has too many parameters. This pattern is…

Software Engineering

Factory Method pattern

Introduction The Factory Method pattern is one the most used design patterns. It is creational type of design pattern, so it is one of the best ways to create objects in any programming language. We will implement this pattern…

Software Engineering

Template Method Pattern

Introduction The template method pattern is behavioral design pattern that defines the steps for an algorithm and allows sub-classes to provide custom implementation for one or more steps. This design pattern helps us to maximize the code re-usability. General…

Software Engineering

How to minimize your dependency on third party libraries?

Introduction I guess that you are in a similar situation as me, that most projects that you are working on are dealing with third-party libraries.  There is no need to reinvent the wheel since external libraries are usually well tested and…


How and when to use Facade Design Pattern?

  Introduction Facades are all around us in the real world. Light switch is one example – you can turn of or turn on lights, but you do not know what happens behind the walls, when you press that…