O'Reilly logo

Pro PHP Refactoring by Jacopo Romei, Francesco Trucchia

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

C H A P T E R  8

image

Changing Class Responsibilities

Software design is certainly one of the most discussed and most difficult activities in software engineering. Designing correct and complete architecture before development is virtually impossible. The real design emerges only when you implement a certain feature; reasoning in micro is easier than reasoning in macro, and requirements can change any time during the developing phase. For this reason, we will discuss emergent design, which means software design that emerges during development. This process entails renegotiating class responsibilities, properties, behaviors, and interactions.

In short, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required