XOTcl (XOTcl, uitgesproken exotickle) is een object-georiënteerde scripttaal gebaseerd op MIT's OTcl. XOTcl is bedoeld als toegevoegde waarde een vervanger voor OTcl.
XOTcl is een open source project dat werd geïnitieerd door Gustaf Neumann en Uwe Zdun, de belangrijkste ontwikkelaars. De volgende mensen hebben bijgedragen aan XOTcl: Neophytos Demetriou, Fredj Dridi, Laurent Duperval, Teemu Hukkanen, MichaelL@frogware.com, Kristoffer Lawson, David LeBlanc, Catherine Letondal, Antti Salonen, Daniel Steffen en Zoran Vasiljevic.
Scripting talen, zoals Tcl, zijn ontworpen om samen te lijmen componenten, bieden functies zoals dynamische uitbreidbaarheid en dynamische typen met automatische conversie, die ze zeer geschikt voor een snelle ontwikkeling van toepassingen te maken.
Het fundamentele doel systeem van XOTcl is overgenomen uit OTcl. Het object stelt ons in staat objecten, klassen en meta-klassen definiëren. Klassen zijn speciale objecten met het beheren andere objecten. `` Managing 'betekent dat een klasse regelt het maken en vernietiging van de subsystemen en dat het een bewaarplaats van werkwijzen beschikbaar voor het instances bevat.
Elk object kan worden versterkt met een object-specifieke methoden. XOTcl ondersteunt enkelvoudige en meervoudige overerving. Alle verhoudingen in XOTcl, inclusief klasse en superklasse relaties, zijn volledig dynamisch en kan worden introspected. Door methode chaining zonder expliciete naamgeving van de beoogde methode, worden onduidelijkheden in naam resolutie van methoden vermeden. Op deze manier een schaduw methode kan worden `` gemengd in '' de uitvoering van de huidige methode.
XOTcl combineert de ideeën van scripting en object-oriëntatie zodanig dat de voordelen van beide domeinen. Het is uitgerust met een aantal nieuwe taal functionaliteiten die helpen bouwen en beheren van complexe systemen. We voegden de volgende ondersteuning:
Eigenschappen
- Dynamic Object Aggregaties, om dynamische aggregaties bieden door middel van geneste naamruimten (objecten).
- Geneste klassen, aan de inmenging van onafhankelijk ontwikkeld programma structuren te verminderen.
- Assertions, de interface en de betrouwbaarheidsproblemen als gevolg van dynamische typen verminderen en derhalve de combinatie van vele componenten vergemakkelijken.
- Meta-data, om zelf-documentatie van objecten en klassen te verbeteren.
- Per-object mixins, als middel om de flexibiliteit van mixin werkwijzen verbeteren door een object toegang tot verschillende extra klassen, die dynamisch kan worden veranderd.
- Per klasse mixins, als middel om de flexibiliteit van mixin methoden om een klasse te verbeteren, alle instanties van de klasse toegang tot de gemengde bij werkwijzen zoals bij multiple inheritance, maar zonder de noodzaak van kruising klassen.
- Filters (per klasse en per object) als een middel om abstracties dan methode aanroepen uit te voeren grote programma structuren, zoals design patterns.
- Conditional Filters en mixins kan worden gebruikt om contextgevoelige compositie uit afhankelijk afschermingen (voorwaarden die besluiten of de interceptor moet worden gebruikt). Alle soorten filters of mixins kan voorwaardelijk worden gebruikt.
- Dynamic Component laden XOTcl integreert de Tcl pakket laden met architectrual ondersteuning voor integratie met objectgeoriënteerde constructies. Bovendien biedt het bijhouden / tracing van component laden.
Reacties niet gevonden