ABSTRACT

Chapter Summary In this chapter, we discuss other techniques, both conventional and unconventional, comparing them to XVCL. We primarily focus on engineering goals that are typically achieved using various techniques, but also comment on the actual mechanisms underlying the discussed techniques. Generic design, componentization, reuse, separation of concerns, and enhancing the visibility of changes are among the leading themes of reuse-based evolution, and also the main forces that motivated XVCL. Therefore, we discuss other techniques around those themes, relating them to XVCL. Conventional techniques include type parameterization [17], other forms of parameterization such as higher-order functions [39], modular decomposition with information hiding [29], inheritance with dynamic binding, design patterns [16], and mechanisms supported by modern component platforms (such as J2EE™ or .NET™). Unconventional techniques include generative approaches [12].