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