haxedci 1.0.1

A DCI library with clean syntax and autocompletion.

Released 2017-02-25.

To install, run:

haxelib install haxedci 1.0.1

See using Haxelib in Haxelib documentation for more information.

Current version1.0.1
StatisticsInstalled 210 times
Tags cross, dci


DCI in Haxe

Haxe is a nice multiplatform language which enables a full DCI implementation. If you don't know what DCI is, keep reading, you're in for a treat!

Short introduction

DCI stands for Data, Context, Interaction. The key aspects of the DCI architecture are:

  • Separating what the system is (data) from what it does (function). Data and function have different rates of change so they should be separated, not as it currently is, put in classes together.
  • Create a direct mapping from the user's mental model to code. The computer should think as the user, not the other way around.
  • Make system behavior a first class entity.
  • Great code readability with no surprises at runtime.


Browse to the haxedci-example repository for a syntax explanation of the library, a longer introduction to DCI, and a demo.

Download and Install

Install via haxelib: haxelib install haxedci

Then put -lib haxedci into your hxml.

Technical notes

Because of the special syntax, there are some problems with autocompletion for Roles. When inside a Role, not all of its RoleMethods may show up.

DCI Resources


DCI – How to get ahead in system architecture 'A Glimpse of Trygve: From Class-oriented Programming to Real OO' - Jim Coplien [ ACCU 2016 ]


Website - fulloo.info
Support - stackoverflow, tagging the question with dci
Discussions - Object-composition
Wikipedia - DCI entry

Build Status