Technical

1) Factory - The instance of varies similar object will be available in single point. Hence maintenance is easy. simply same kind of object can be removed

2) Model View Controller - Link : http://en.wikipedia.org/wiki/File:MVC-Process.svg

3) Model View Presenter -

4) FODA - Feature Oriented Design - To build the Mandatory , Optional and Dependent feature for the image

5) Facada - Act as Abstract for a module

6) Observe Pattern - ( update in a Single instance and notify that update to multiple dependent instances )

Feature of Java:

1. lamda feature is defined in java 1.8 ( ie. interface's method is defined on run time like expression and invoked on the spot )

DAO Explained:

https://www.journaldev.com/16813/dao-design-pattern