<Li> Creational patterns (5): Factory method pattern, Abstract factory pattern, Singleton pattern, Builder pattern, Prototype pattern </Li> <Li> Structural patterns (7): Adapter pattern, Bridge pattern, Composite pattern, Decorator pattern, Facade pattern, Flyweight pattern, Proxy pattern </Li> <Li> Behavioral patterns (11): Chain - of - responsibility pattern, Command pattern, Interpreter pattern, Iterator pattern, Mediator pattern, Memento pattern, Observer pattern, State pattern, Strategy pattern, Template method pattern, Visitor pattern </Li> <P> Both object - oriented programming and relational database management systems (RDBMSs) are extremely common in software today . Since relational databases don't store objects directly (though some RDBMSs have object - oriented features to approximate this), there is a general need to bridge the two worlds . The problem of bridging object - oriented programming accesses and data patterns with relational databases is known as object - relational impedance mismatch . There are a number of approaches to cope with this problem, but no general solution without downsides . One of the most common approaches is object - relational mapping, as found in IDE languages such as Visual FoxPro and libraries such as Java Data Objects and Ruby on Rails' ActiveRecord . </P>

Describe in details about the basic concepts of object-oriented programming