4

Consider the following general form of a layered architecture :

enter image description here

I need to check my understanding about the second layer from top . More specifically I need to check my understanding the regarding the meaning of "User interface management " . According to my understanding , UI management is the code that underlies the UI , for example it is the code for each button and each UI elements . So for example , let us consider that the user needs to generate a report from a system that uses this layered pattern as its architecture. So what happens is the user press the generate report button then the underlying code of this button knows that it need to run the code of generate report system functionality ( which exists in the third layer). After that the generate report code ( lets assume that it is implemented as a class) will refer to the database to get the required info to generate this report and then the info will "propagates upward" until it reaches the UI again to be viewed by the user. So is this right ? In other words , is this what is the meaning of the User interface management ? and do I understand the mechanism of this architecture ?

0
1

UI management is the code that underlies the UI , for example it is the code for each button and each UI elements .

Not exactly. Your next statements are actually the true meaning:

So what happens is the user press the generate report button then the underlying code of this button knows that it need to run the code of generate report system functionality ( which exists in the third layer).

This statement is a good example of what the user management layer is — a use case. It isn't so much the code behind the button. This is an abstract concept for all of the code necessary to coordinate the classes that bridge the UI layer with the business layer. Code used to interact with the database would reside in a different layer, which would be represented by the bottom-most layer.

Essentially the flow of control goes from user interface to use case. From the use case it goes to the "business layer". Other architectures or design philosophies might can this the "domain layer". From the business layer you interact with the system support layer, where you connect to the database. Many times this would be done using an ORM (Object Relational Mapper).

I would say you have it mostly right. You are correct in assuming the user management layer is responsible for taking a concrete user interaction (clicking a button) and executing and coordinating a business process (running a report).

2
  • So do you mean that the UI management layer is responsible to coordinate the user request to correct module in the business layer that executes the use case ?
    – AAAA
    Apr 8 '20 at 23:45
  • 1
    @AAAA: Yes, you are correct. Apr 9 '20 at 11:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.