dcveeneman (4) [Avatar] Offline
#1
If this has been addressed in another thread, my apologies--nothing came up in my search.

Is Section 2.1.1 (p. 33), the text says: "In n-layer architecture, there's the explicit rule that modules can reference any other module in the same layer, as well as in the layer immediately below." I don't understand this statement. I know that in a non-modular app, a class can reference any other class in the same layer and the next layer down. But I have always understood that modules should never directly reference each other, as this creates inter-module dependencies. For example, in Prism, modules communicate indirectly, via CompositeEvents.

Am I misinterpreting the statement, or am I missing something basic? Thanks.
mark.seemann (383) [Avatar] Offline
#2
Re: Modules referencing other modules?
Throughout the book, the word module is used interchangeably with library or assembly. No matter what you do, some modules must reference other modules.

I don't know Prism, but it's my impression that it mostly deals with the aspect of composing various UI modules into a composite application. As such you could say that the communication you are talking about really only happens throughout the UI layer.

Unless I'm much mistaken, Prism doesn't preclude layering as well as UI composition, but on the other hand doesn't explicitly deal with the concept either.