Niclas Hedhman wrote:
> Yes, that makes sense, AND allows for codebase modularity as well,
> without cyclic dependencies at that level.

For reference, here's my current application assembly of StreamFlow, 
which I think is pretty generic:
ApplicationAssembly assembly = applicationFactory.newApplicationAssembly();
assembly.setName("StreamFlow client");
LayerAssembly uiBuilderLayer = assembly.newLayerAssembly("UI builder");
LayerAssembly uiControllerLayer = assembly.newLayerAssembly("UI 
controller");
LayerAssembly uiModelLayer = assembly.newLayerAssembly("UI model");
LayerAssembly appLayer = assembly.newLayerAssembly("Application");
LayerAssembly domainLayer = assembly.newLayerAssembly("Domain");
LayerAssembly domainInfrastructureLayer = 
assembly.newLayerAssembly("Domain infrastructure");
LayerAssembly appInfrastructureLayer = 
assembly.newLayerAssembly("Application infrastructure");

uiBuilderLayer.uses(uiControllerLayer, uiModelLayer);
uiControllerLayer.uses(appLayer);
appLayer.uses(uiModelLayer, domainLayer, appInfrastructureLayer);
domainLayer.uses(domainInfrastructureLayer);
---
Note that there are TWO infrastructure layers, one for the application 
and one for the domain. The domain infrastructure contains the 
EntityStore for the domain entities, and the application infrastructure 
contains the EntityStore for the application entities. I've chosen to do 
the application state as Entities as well, as that allows me to easily 
persist the "current state" of the application.

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to