Skip to Main Content
Since the early days of structured methodologies, design techniques have evolved to facilitate the representation of real-world entities in software systems. Although object-oriented modeling and design techniques have made developing complex applications easier, many applications deal with data and behavioral requirements that conventional design models have difficulty accommodating. We introduce a novel OOP extension, merging both philosophies (adaptive programming and semistructured data management), that you can use transparently in current programming platforms. Lazy types model variability without increasing implementation complexity. In situations where the use of standard design patterns could hinder design understandability, lazy types deal with complexity by keeping track of a unique type while avoiding the artificial multiplication of types traditional OOP solutions introduce. The reflective technique of lazy typing - deferring the exact definition of object methods until the last possible moment - can help programmers more easily and consistently deal with partial or incomplete data.