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