Author Archives: Hayim Makabee

Unknown's avatar

About Hayim Makabee

Veteran software developer, enthusiastic programmer, author of a book on Object-Oriented Programming, co-founder and CEO at KashKlik, an innovative Influencer Marketing platform.

The Liskov Substitution Principle and Test-Driven Development

The Substitution Principle, first defined by Barbara Liskov, says that: “Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T.” … Continue reading →

Posted in OOD, OOP, TDD | Tagged , , | 3 Comments

When a square is not a rectangle

In my previous post, I’ve used the example of squares and rectangles to illustrate the importance of definitions. It is clear that, from a geometric point-of-view, a square is indeed a kind of rectangle. However, as my friend Arnon has … Continue reading →

Posted in OOD, OOP | Tagged , | 4 Comments

Is a square a rectangle? – On the importance of definitions

Before you continue reading this post, please answer the following question:  “Is a square a rectangle?” This is apparently a very simple question, to which we should be able to answer almost immediately, without even thinking about it. However, if … Continue reading →

Posted in OOD, Requirements Specification | Tagged , | 2 Comments

Efficiency vs. Effectiveness

This is a blog about Effective Software Design, so it is important to first make clear what do we mean by “effective”. Peter Drucker defined the difference between being efficient and being effective: • Efficiency is the capacity to do … Continue reading →

Posted in Efficacy | Tagged | 6 Comments