Question

I am having a confusion while mapping my software design with an architectural pattern.

the below diagram describes my proposition. enter image description here

What I wanted to ask is -

  1. Is the third layer really a layer, or just a constituent part of layer 2?
  2. The fourth layer constitutes of those resources for which all my software is built. They are the things, which do not provide service as such, but for which all the work is done, on which all the work is done. Are they to be included in architectural description?
Was it helpful?

Solution

Layer is not an exact term, it can be customized per your needs. That said, I would organize your design a bit different:

  • Your third layer is actually a side layer/package that provides services to your main software flows but doesn't have an active role in them. More appropriate would be to put it alongside the 2 first layers that can interact with the required services per need.

  • Fourth layer indeed shouldn't be part of your design because it's actually a description of entities outside your system. You can outline the interfaces to these entities but they do not consitute layer in your system.

You may also take a look at a more formal approach for design depicting - check the Package diagrams in UML and Layer diagrams (not standard but close to what you look for).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top