Original Date: 06/02/2003
Revision Date: 01/18/2007
Information : Creative Object-Oriented Design
ABC Virtual Communications, Inc. makes extensive use of object-oriented software design principles to design and develop code more efficiently. As a result of good object design, code that is developed comes together more quickly, is more reliable, and easier to maintain.
Since its inception, ABC Virtual Communications, Inc. (ABCV) has relied on object-oriented design techniques to leverage the efforts of its developers. Object-oriented programming allows developers to create an “abstract” object once, and then derive minor variations of that base object as needed. Instead of having to write code for each different case, the codes can access the methods defined in the base class, and the object itself handles the specific details making code development more efficient.
One of the major examples of ABCV’s success with this technique is the ABCVIOTableBean object, which is designed to display a list of “summary objects.” The ABCVIOTableBean does not need to know what kind of data it is displaying, and can reconfigure its display based on the information passed to it. Additionally, this component automatically handles requests to edit any displayed item, as well as handling data-persistent tasks specific to the objects being listed. The ECLoanPro (ECLP) software (ABCV’s flagship product) contains approximately 100 uses of ABCVIOTableBean.
Another example of ABCV’s creative use of object-oriented software design is in its use of the Rational Rose™ software product. ABCV uses Rational Rose™ to create, store, and implement the business objects used in ECLP. Rational Rose™ provides perfect correspondence of the implementations and their associated class diagrams. Unfortunately, each time a new version of the business object is generated, developer-added code is overwritten and lost. ABCV’s innovative solution to this is to use Rational Rose™ to generate base classes of the business objects. If a specific modification is necessary, the developer creates a child-object with any necessary extensions to the base class. As a result, the base class can be regenerated at will, without losing any of the modifications in the derived classes.
By adopting the object-oriented design philosophy as a significant part of its corporate culture, ABCV efficiently develops code and successfully leverages existing bodies of code.
For more information see the
Point of Contact for this survey.