Skip to content

Instantly share code, notes, and snippets.

@darrenbkl
darrenbkl / 0_reuse_code.js
Created June 4, 2016 10:54
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@darrenbkl
darrenbkl / ajax.js
Created July 13, 2016 04:57 — forked from xeoncross/ajax.js
Simple, cross-browser Javascript POST/GET xhr request object. Supports request data and proper AJAX headers.
/**
* IE 5.5+, Firefox, Opera, Chrome, Safari XHR object
*
* @param string url
* @param object callback
* @param mixed data
* @param null x
*/
function ajax(url, callback, data, x) {
try {
@darrenbkl
darrenbkl / Planet.java
Last active January 12, 2020 13:42
planet
public interface Planet { }
public class Mercury implements Planet { }
public class Mars implements Planet { }
public class Saturn implements Planet { }
Planet mars = new Mars()
Planet saturn = new Saturn();
Planet mercury = new Mercury()
Explorer explorer = new LifeExplorer();
List<Planet> planetsToBeVisited = new ArrayList<>();
planetsToBeVisited.add(mars);
planetsToBeVisited.add(saturn);
planetsToBeVisited.add(mercury);
public interface Explorer {
void visit(Mercury mercury);
void visit(Mars mars);
void visit(Saturn saturn);
default void visit(Planet planet) {
System.out.println("Landed on an unknown planet...");
}
}
public class LandscapeExplorer implements Explorer {
@Override
public void visit(Mercury mercury) {
System.out.println("Adjusting camera to Mercury atmosphere... taking picture of Mercury");
}
@Override
public void visit(Mars mars) {
System.out.println("Adjusting camera to Mars atmosphere ... taking picture of Mars");
}
Planet{
public void accept(Explorer explorer);
}
public class Mercury implements Planet {
@Override
public void accept(Explorer explorer)) {
explorer.visit(this);
}
}
interface Planet{
public void accept(Explorer explorer);
}
public class Mercury implements Planet {
@Override
public void accept(Explorer explorer)) {
explorer.visit(this);
}
}
Planet mars = new Mars()
Planet saturn = new Saturn();
Planet mercury = new Mercury()
Explorer explorer = new LifeExplorer();
List<Planet> planetsToBeVisited = new ArrayList<>();
planetsToBeVisited.add(mars);
planetsToBeVisited.add(saturn);
planetsToBeVisited.add(mercury);
public interface Planet {
void accept(Explorer explorer);
}
public class Mercury implements Planet {
@Override
public void accept(Explorer explorer) {
explorer.visit(this);
}
}