Category Archives: OOD

Object-Oriented Design

The Cat as a Metaphor in Object-Oriented Software Development

Grady Booch is a software development guru who wrote one of the most important books about Object-Oriented Programming: “Object-Oriented Analysis and Design with Applications“. In his book, Booch has wonderful illustrations using a cat as a metaphor for some of … Continue reading

Posted in OOD, OOP, Programming | Tagged , , | 2 Comments

The SOLID Principles Illustrated by Design Patterns

The Clean Code Alliance in Israel organized a special event about the SOLID Principles of Object-Oriented Design. I was glad to be invited to give a talk about “The SOLID Principles Illustrated by Design Patterns”. My friend Eyal Golan also … Continue reading

Posted in Design Patterns, OOD, Software Architecture | Tagged , , | 5 Comments

Do SOLID design principles make code slow?

This week one of the readers of my blog asked me this question: “Do SOLID design principles make code slow?” I think this is a very interesting question, which I have already encountered several times during my 20 years as … Continue reading

Posted in Agile, Design Patterns, OOD, Programming, Software Architecture | Tagged , , , , | 10 Comments

Antifragile Software Design: Abstraction and the Barbell Strategy

In his book “Antifragile: Things That Gain From Disorder”, Nassim Taleb introduces the concept of Antifragility, which is the opposite of Fragility. The main question is how things react to volatility (such as randomness, errors, uncertainty, stressors and time). According … Continue reading

Posted in Antifragility, OOD, OOP, Software Architecture, TDD | Tagged , , , , | 15 Comments

Adaptable Design Up Front and the Open/Closed Principle

The Open/Closed principle is one of the SOLID principles of software design: “The Open/Closed Principle states that the design and writing of the code should be done in a way that new functionality should be added with minimum changes in … Continue reading

Posted in Adaptable Design, Design Patterns, OOD, Software Architecture, Software Evolution | Tagged , , , , | 11 Comments

On Information Hiding and Encapsulation

This month I participated in IBM Haifa’s Programming Languages and Software Engineering (PLSE) Seminar. There I had the opportunity to have lunch with David Parnas, one of the world pioneers in the field of Software Engineering. Parnas is the father … Continue reading

Posted in OOD, OOP, Software Architecture | Tagged , , | 7 Comments

An Event-Driven Approach for the Separation of Concerns

Last week I presented a paper at the International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2012), at Wroclaw, Poland. Title: “An Event-Driven Approach for the Separation of Concerns” Abstract: “This paper presents an event-driven approach for … Continue reading

Posted in AOP, OOD, OOP, Research | Tagged , , , | 4 Comments