Abstract
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.
Chapter PDF
Editor information
Rights and permissions
Copyright information
© 2010 Francesco Trucchia and Jacopo Romei
About this chapter
Cite this chapter
Trucchia, F., Romei, J. (2010). Changing Class Responsibilities. In: Lowman, M., et al. Pro PHP Refactoring. Apress. https://doi.org/10.1007/978-1-4302-2728-1_8
Download citation
DOI: https://doi.org/10.1007/978-1-4302-2728-1_8
Publisher Name: Apress
Print ISBN: 978-1-4302-2727-4
Online ISBN: 978-1-4302-2728-1
eBook Packages: Professional and Applied ComputingProfessional and Applied Computing (R0)Apress Access Books