ISBN-13: 9783639181319 / Angielski / Miękka / 2009 / 60 str.
ISBN-13: 9783639181319 / Angielski / Miękka / 2009 / 60 str.
The Composite design pattern is commonly employed in object-oriented languages to design a system of objects that form a part-whole hierarchical structure with composite objects formed out of primitive objects. The composite hierarchy effectively forms a tree-like hierarchical grouping of objects. From a software engineering perspective, there are at least two problems with the Composite pattern. First, it does not maintain a separation of concerns between the structure of the objects in a system and the objects themselves. This limits the ability of programmers to reuse the system s structural information. Secondly, there is no mechanism for encapsulating the system as a whole. This makes it difficult to specify and reason about global system properties. To overcome these difficulties, a component which extends the traversable tree is presented. A formal specification for each tree component is presented in the Tako language a Java-like language with alias avoidance. A case study is presented that shows how the indexed tree can be used and reasoned about in an application a text-based adventure game.