OOP, it is a full form of Object Oriented Programming. And even with starting of career in software engineering we are force to implement OOP in our coding. Cross your heart and tell how many time we are implementing???

I start my career with .Net / C#. And C# is object oriented language. But I code like C. Pushing function for every thing. May be it is my love for it. And what happened I end up with 14000 line of code and crashing the system. At that point of time I shift and optimized my code which end up with 700 lines of code and pretty nice working product. This is the first time I come to know that there is a use of object oriented system other than writing exam and cracking interview.

But again its just about creating objects, nothing else. Then I work with pretty big web application. At that point I learn something about Architecture. Oh! that is nice. Even software also has an Architecture. So, it is moving away from OOP. May be yes ???

It is like difference between Civil engineer and an Architecture. It is some advanced functionality which are implemented using Object Oriented fundamentals. And these are not new things but advanced version of what I have learn. These are Design Patterns .

First it was created by Gang of Four. They are pillars and pioneers of design patterns. Although it is easy to learn but hard to choose between. But may be in future I will be writing something on these patterns. Till than if you are from Dot Net background do check out this site. It has all the details needed to learn Design Patterns.