Software architecture have rapidly changing time to time in the past decades. If you can remember I have published an article about evolution of software architecture few days ago. In that article I explained how the evaluation happened from standalone systems to microservices. So if you want you can always refer that article to get a knowledge about how the software architecture evaluation happened. In 2013 after the Martin Fowler’s book released and several discussion people started thinking about new architectural views for web applications. Now most people are think whether we should go for this or not. So to…


If you are an undergraduate IT student or a software engineer you may heard containers or docker at some point in your career. If you heard those, but if you don’t know anything about those then you are in the right place because this article is for you. This article will give you an introduction to container based application. Before that we will take look about the history.

Generation 1

In the past applications are deployed in a physical server. But you think now a days is not deployed in physical sever. Yes now a days also deployed in a physical server…


If you are an undergraduate IT student or a software engineer you may definitely met Java Script in your life at some point. May be you have done couple of projects using Java Script and other languages. So welcome you all to another article. In this article I will give a brief explanation about the modern JavaScript. Before that let’s look at the evolution of the JavaScript.

Evolution of JavaScript


If you can go back to past what are the things that you want to change in your life? let’s say if you want to change something but the thing is you can’t do it in real life. But in Memento design pattern you can restore the state of an object to a previous state. So welcome back to another design pattern article. If you are new to design pattern you can always refer my previous articles. As you know this article is all about memento design pattern which is under the behavioral type. Memento pattern is used to restore…


As you already know this is another design pattern article. So welcome to the chain of responsibility design pattern. I have published four articles regarding design patterns and all of those four are under the creational type. So if you are new to design patterns, you can always refer to my previous articles.

Today let’s learn the chain of responsibility design pattern which is under behavioral type. Java API logger is an example of the chain of responsibility design pattern.

The chain of responsibility pattern creates a chain of receiver objects for a request. This pattern decouples the sender and…


Welcome to another design pattern article. As you know this article is all about Builder design pattern which is under the creational type. If you are new to design patterns you can refer to my previous design patterns articles which are already published. So what is Builder Pattern? In simply Builder pattern builds a complex object using simple objects using a step by step approach. Java string builder is an example of builder design pattern. When we do coding sometimes we have to use constructors which contain lots of parameters. But some times those parameters are not necessary. …


As you know this article will be another design pattern which is Prototype Design Pattern and it’s under the creational type. I have published two articles regarding design patterns. So if you are new to design patterns you can always refer those articles. Prototype Pattern says that cloning of an existing object instead of creating new one and can also be customized as per the requirement. So what does it means? I will explain it simply. let’s say we have a online store so when the user search a product it will show thousand of items right. So it’s easier…


In my previous article I have discussed about the singleton design pattern. So if you are new to design pattern you can go and learn introduction to design pattern and Singleton design pattern which was my previous article. So in this blog I will explain about Factory design pattern. This design pattern comes under creational pattern as this pattern provides one of the best ways to create an object. Let’s see a simple example first because it easy for understand.


Did you ever notice that some of the things in this world are happen in a certain way. When it comes to the software engineering stream we have some patterns. We called those as design patterns. Design patterns represent the best practices used by experienced object oriented software developers. Design patterns are solutions to common issues that software engineers face while developing software in day to day life. A design pattern isn’t a finished design that can be transformed directly into code. It’s a description or template for how to solve a problem , when to apply the solution, and…


Evolution may not only happened in IT section. Evolution happen in every other fields even human has a evolution. So in this article I will explain about the evolution of software architecture and I will take you from standalone systems to microservices.

One Tier Architecture

dilshan ukwattage

Associate Software Engineer at Virtusa

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store