Contact

Portofolio

GitHub

Featured

What is difference between MVC, MVP and MVVM?

Introduction When it comes to the decision where you need to choose your macro-architectural pattern for your application, then it usually ends by choosing one of the three most popular: Model View Controller (MVC) Model View Presenter (MVP) Model…

Uncategorized

S is for Single Responsibility Principle

Introduction This is the first post in a five part series about object oriented design principles called SOLID. In Sofware engineering, there is an acronym called SOLID which represents five design principles which intent is writing software that is easier…

Design patterns Kotlin

Command Design Pattern in Kotlin

Introduction Command is a behavioural design pattern which intent is to encapsulate all information about an action. It is commonly used when you need to issue requests without knowing what action will be performed or who is the receiver…

Design patterns Java 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…

Design patterns Java 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…