next up previous contents index
Next: 2.3.1 Component system Up: 2. Software Architecture Previous: 2.2 Use cases   Contents   Index


2.3 Class and object design

This section describes the C++ class design for ns-3 objects. In brief, the design patterns in use include classic object-oriented design (polymorphic interfaces and implementations), separation of interface and implementation, the non-virtual public interface design pattern, object and interface aggregation, a type-safe query interface, a run-time replaceable components system, and reference counting for memory management. Those familiar with component models such as COM or Bonobo will recognize elements of the design in ns-3, although the ns-3 design is not strictly in accordance with either.



Subsections

2007-10-16