Favor composition over inheritance.

Master and Student…

Master: Grasshopper, tell me what you have learned of the Object-Oriented ways.

Student: Master, I have learned that the promise of the object-oriented way is reuse.

Master: Grasshopper, continue…

Student: Master, through inheritance all good things may be reused and so we come to drastically cut development time like we swiftly cut bamboo in the woods.

Master: Grasshopper, is more time spent on code before or after development is complete?

Student: The answer is after, Master. We always spend more time maintaining and changing software than on initial development.

Master: So Grasshopper, should effort go into reuse above maintainability and extensibility?

Student: Master, I believe that there is truth in this.

Master: I can see that you still have much to learn. I would like for you to go and meditate on inheritance further. As you’ve seen, inheritance has its problems, and there are other ways of achieving reuse.

====

This quote comes from Head First Design Patterns, I personally favor composition over inheritance.

The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.

How to Read a Paper, truly nice article by Professor S.Keshav

I’m a student at the open university, at my first week bloc I saw “How to Read a Paper” a very interesting article by Professor Keshav.

Honestly, this article helped me progress with reading fast and understanding the concept of reading a paper, hopefully it will help you as well.


 

Read more