Computer Science 223 Discussion Questions

Riel, Chapter 9

Discussion Questions submitted for Chapter 9 of Riel

Logical and Physical Object-Oriented Design

  1. I don't understand why object oriented designers shouldn't allow physical design criteria to corrupt their logical designs. It seems that following physical design is more cost effective in the real world. If the logical design is corrupted and a new, correct logical design is created, I don't see the need of Heuristic 9.1. - Elias Vafiadis
  2. At what stage in the development process should logical design be considered?
  3. Shouldn't you keep the physical design criteria in mind when doing their logical design, so it is sure that the logical design can be implemented? -Jim Finnessy
  4. Can you clarify the differences between logical and physical object oriented design? Why do they differ?(Sam Vanderhyden)
  5. Could we please discuss the proper transition from physical design to logical design? ~yasir.


  1. Could you explain wrappers more especially in the context of our project. taha
  2. Can you expand upon the definition of a wrapper? Patrick Dowd
  3. What is a wrapper? (Sam Vanderhyden)
  4. It is now clear to me when it is necessary to have a wrapper, but not how to make wrappers. Could you explain it? --Hisako
  5. Can you explain how one can use wrapping to ensure that heuristc 9.1 is effective? Anthony Fynn
  6. How much work is actually involved in wrappers? How much effort would it have taken to use the database for our project?

Shallow and Deep Copies


  1. Can you clarify the idea behind using flags to mark shallow copies? --Khong
  2. How do we implement deep and shallow copying in Java? Steve F.

Active and Passive Objects


  1. Can you go over the difference between passive and active objects more? -Kensler
  2. What are passive objects?
  3. Could you clarify concurrent object programming?
  4. Could you explain the ATM scenario a little more. -George

Memory Management Issues

  1. What set of circumstances would require a programmer to use reference counting? Patrick Dowd
  2. Can you clarify reference counting?
  3. How do we resolve the issues between garbage-collecting and nongarbage-collecting languages concerning memory management? --Khong
  4. Does one need destructors for most code that one writes and do we need a destructor in the scheduler project? taha
  5. Are deconstructors necessary or even possible in Java? - Jim Finnessy
  6. What are the benefits of a destructor in coding? Anthony Fynn
  7. I didn't understand the discussion of garbage collection too well. Could you explain it in simpler terms? --Ben Kaiser

Object-Orientation with Non-OO Languages

  1. In 9.8, how to implement O-O design in nonobject-oriented languages, but do people actually still try to do this? what is the advantage of programming O-O design in nonobject-oriented languages, if people still do? --Hisako
  2. Are there any advantages in the present to use object-oriented design in non-OO languages? Steve F

Other Questions

  1. Could you describe CORBA architecture? Dessislava Dimova
  2. What is the difference between object and record? (Raz Magar)
  3. How might "persistence in space" be implemented? This sounds like a useful idea... Todd
  4. Can one safely apply an object-oriented attitude toward all real world problems, or are there some limitations? -George
  5. What are routing algorithms, how are they centralized, and why could decentralization make them simpler? Dessislava Dimova
  6. Section 9.5 suggest we create a minimal public interface for all classes that are going to be reused. Is that for a physical or a logical design? - Elias Vafiadis
  7. Could you explain the implementation of polymorphism in nonobject-oriented languages? (Raz Magar)
  8. Can you tell me more about persistence in space (i.e. where it is currently being used, what's currently being developed in the area, etc)? -Kenslerj
  9. Could you speak a little more about object oriented databases... Todd
  10. Could we please discuss heuristic 9.2 with an example from our project? ~yasir.

This document is available on the World Wide Web as

created April 26, 2002
last revised May 6, 2002
Valid HTML 3.2!
For more information, please contact Henry M. Walker at