Close

Design Pattern - Decorator Pattern Examples

Design Pattern 

public class NormalCacheDecorator implements IObject {

private IObject original;
private Map<String, Object> cacheData = new HashMap<>();

public NormalCacheDecorator (IObject original) {

this.original = original;
}

@Override
public String getData () {
Object data = cacheData.get("getData");
if (data == null) {
data = original.getData();
cacheData.put("getData", data);

}
return (String) data;
}

public static void main (String[] args) {
MyObject object = new MyObject();
IObject decorator = new NormalCacheDecorator(object);
System.out.println(decorator.getData());
System.out.println(decorator.getData());
}
}
Original Post