Managing the Risks of Designing for Change

Using the best practice of Designing for Change poses no risks to the rest of the project. The main risk associated with Designing for Change is simply the risk of failing to use the practice to its full benefit.

Overreliance on languages and pictures rather than on design.The mere act of putting objects into classes does not create an object-oriented design, does not provide information hiding, and does not protect a program from changes. The mere act of drawing a module-hierarchy chart does not create a change-tolerant design. Good designs come from good design work, not from pictures of design.

image with no caption

Doing object-oriented design effectively is harder than people have made it out to be. As discussed in Silver-Bullet Syndrome, it is an expert's technology. David Parnas writes that object-oriented (O-O) programming has caught on slowly for the following reason:

CROSS-REFERENCE

For another broad view of object-oriented technology, see Identifying Silver Bullets in Silver-Bullet Syndrome.

[O-O] has been tied to a variety of complex languages. Instead of teaching people that O-O is a type of design, and giving them design principles, people have been taught that O-O is the use of a particular tool. We can write good or bad programs with any tool. Unless we teach people how to design, the languages matter very little. The result is that people do bad designs with these languages and get very little value from them. (Parnas in Brooks 1995)

To design for change, you must actually design. Focusing on areas that are likely to change, information hiding, and families of programs make up the strategic backbone of object-oriented design. If you don't follow those design steps, you might as well be working in Fortran, plain old C, or assembler.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.5.15