On the Integration of Classboxes into C#

On the Integration of Classboxes into C#Short Description
Classboxes are a new module system for object-oriented languages defining a packaging and scoping mechanism for controlling the visibility of isolated extensions to portions of class-based systems. Unlike object-oriented specialization, the class extension mechanisms supported by classboxes preserve the identity of extended classes and, therefore, all clients of extended classes can benefit from the applied extensions. In this paper, we present a language design and a corresponding implementation strategy for classboxes in C#. A particular challenge in incorporating classboxes into C# is to preserve the identity of extended classes as the .NET framework represents classes as metadata type declarations and access to classes by static links into metadata of the host assembly. However, the local refinement of an imported class results in a new metadata type declaration. In order to guarantee the identity of extended classes, new metadata type declarations have to be incorporated into the original metadata of imported classes. But this “re-wiring” has to occur in a manner that is consistent with the Common Language Infrastructure (CLI).

Website: www.cs.iastate.edu | Filesize: 86kb
No of Page(s): 16

Content

Today, many real-world software systems are built using mainstream object-oriented techniques and languages. However, when using object-oriented technology, one often faces an extensibility problem that arises from the fact that mainstream object-oriented languages provide only limited support for modular addition of both horizontal and vertical extensions to classes. While in general it is always possible to add (vertically) new classes to a system, existing classes can only be extended with new, orthogonal behaviour (horizontally) in an often non-object-oriented style, that is, by breaking the object-oriented encapsulation property (e.g., the Visitor pattern [11]). Such extensions are awkward at best, and error-prone at worst. Furthermore, the inheritance relationships in mainstream object-oriented languages are not powerful enough to capture many useful forms of incremental modifications [3, 5, 6, 17].

Get the file Download here

AddThis Social Bookmark Button
Related Books:
  • SQL Anywhere Integration with Visual Studio .NET 2003
  • Math 621 Measure Theory and Integration
  • Symantec Endpoint Protection Integration Component
  • IME OpenGIS AutoCAD/MapGuide Integration Data Solutions Guide
  • Microsoft - SAP Integration Consulting Services
  • Microsoft PowerPoint - DotNet and J2EE interop.ppt
  • Achieve unmatched integration in your video workflow
  • Recovery design pattern - Information Reuse and Integration, 2003 …

  • Related Searches: , , , ,



    Comments

    Leave a Reply