Meta Programming System — Language Oriented Programming environment and DSL creation tool

actifsource: The DCI Architecture
In his new book "Lean Architecture: for Agile Software Development" James O. Coplien shows up with a new programming paradigm: The DCI Architecture. Before reading this blog I suggest to have a look a the DCI vision document: Let me try to explain DCI in a nutshell. The idea of DCI is to separate data from business code for better readability while the business code is directly expressed as use case. DCI stands for Data, Context and Interaction. DataData means POD (plain old data) objects without any business relevant methods. ContextA context is a place to retrieve and/or setup a necessary data. InteractionAn interaction is a complex function applied on the data of the context. Implementing DCIImplementing DCI is not an easy task since traits are needed. The modified DCI ArchitectureMy goal is to realize the DCI architecture using actifsource. I decided to keep the DCI idea but modify the model a little bit.
Related:
Related: