The business delegate is used to separate the business side and presentation side. The business side is made up of 4 parts:

  • Client — The presentation code to display the data
  • Business Delegate — Provides access to the business service methods which the client uses
  • LookUp Service — Responsible to get relative business implementation and provides business object access to business delegate object
  • Business Service — The concrete class implements the business service interface to provide business implementation logic
Photo by Charles Forerunner on Unsplash



public interface BusinessService {
public void doSomething();

The business interface that the concrete class implements


public class ServiceOne implements BusinessService…


When using variables in code there are 2 different ways the data can be used. When you pass a variable to a function it is either a pass by reference or a pass by value.


Pass By Reference

Pass by reference is when the memory address is passed to the function. This means that whatever changes happens to the variable will affect all other variables pointed to that memory address. The following code is in C++.

#include <iostream>
using namespace std;
void increment(int &x) {
int main() {
int num = 10;
cout << num << endl;
cout << firstNum;


The main use of the Transfer Object Pattern is to pass data with multiple attributes at once. It is made up of 3 parts:

  • Transfer Object — Simple Plain Old Java Object(POJO) which just has getters and setters
  • Business Object — Contains the logic that manipulates the transfer object.
  • Client — Passes or gets transfer object from the business object
Photo by Markus Winkler on Unsplash


Transfer Object


public class PersonTO {
private String name;
private int id;

PersonTO(String name, int id){
this.name = name;
this.id = id

public String getName() {
return name;

public void setName(String name) {
this.name = name;


Inheritance is one of the four pillars of Object Oriented Programming(OOP). Inheritance allows classes to inherit all methods and properties from another class. The parent class is the class that is being inherited from also known as the base class. The child class is the class that is inheriting from another class.

Photo by Markus Spiske on Unsplash

Parent Class

The parent class is a typical class that just needs to have the methods and properties that will be inherited.

class Parent:
def __init__(self, name):
self.name = name

def printName(self):

Child Class

The child class can be a typical class but you just need to wrap the parent class…


Arrow functions are similar to Java and Pythons lambda function. Arrow functions can be used instead of Javascript traditional function definition. Arrow functions are more compact but there are some limitations:

  • No bindings to this or super so it should not be used inside object if they are to be methods
  • No access to arguments or new.target
  • Should not be used with call, apply and bind methods because they rely on a scope or the current context where it is being executed
  • Cannot be used as a constructor
  • Cannot use yield in its definition
Photo by Nick Fewings on Unsplash


Instead of using the function key…

Lambda is a short block of code that is a function do not have a name


Lambda was added to Java in version 8. Similar to Python lambda is a short block of code that is a function do not have a name. Like functions they can take in arguments and returns a value. Unlike Pythons lambda Java has its own way of using lambda. Like in Python lambda functions are typically used in higher order functions or functions that take in another function as an argument.

Photo by Markus Spiske on Unsplash


To use lambda you start by declaring the argument separated by -> then the function definition.

// argument -> definition
x -> System.out.println(x)

If the lambda function takes in…


Lambda is a single line function with no name that can have multiple arguments but only one expression. This is useful for writing functions that will only be run once.



Normal Implementation

def add(x, y):
return x + y

Lambda Implementation

lambda a, b : a +b

As you can see in order to declare a function as a lambda function you need to use the lambda keyword. What follows after the lambda keyword are the arguments of the function. Then the colon symbol separates the argument from the definition.


You can save the lambda function by setting a variable equal to the lambda…


Normally we use numbers from 0–9 which a base 10 system called decimal. Binary is a number system using base 2 system. This means it just uses 2 numbers 0 and 1. Computers use binary to store data and each bit is represented by a 1 or 0. Each bit is grouped in 8 bits which represents a byte. Hexadecimal uses base 16 which is easier to represent 8 bits using only 2 digits instead of binaries 8.

Photo by Markus Spiske on Unsplash

Binary and Decimal

Each digit in a decimal represents a power of 2. So starting from the right to left is 1, 2, 4, 8…


As the name suggests MVC design patterns involves 3 parts:

  • Model — The object that contains the data. It should contain no logic to display data.
  • View — Presents the data to the user. It should only have the logic to display the data and not any logic to manipulate it.
  • Controller — Controls the data flow between the model and view keeping the two of them separate. The view triggers events that cause the controller to change the model.
Photo by Halacious on Unsplash



// Employee.java public class Employee { private int id; private String name; public String getId() { return rollNo; } public…


The main idea for the facade design is hiding the complexities of the application. The user would use an interface/facade instead to access any methods.

Photo by Daniel von Appen on Unsplash



// Animal.java
public interface Animal {
void species();

Interface for concrete class.

Class Implementation

// Dog.java
public class Dog implements Animal {
public void species() {

Interface implementations.

// Cat.java
public class Cat implements Animal {
public void species() {
// Bird.java
public class Bird implements Animal {
public void species() {


// AnimalMaker.java public class AnimalMaker { private Animal dog; private Animal cat…

Daniel Liu


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