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.

Maintainerciscoheat
Websitehttps://github.com/ciscoheat/haxedci
Current version1.0.1
StatisticsInstalled 210 times
LicenseMIT
Tags cross, dci

README.md

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.

Example/Demo

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

Videos

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

Links

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

Build Status