This is how usually I refer them:
High Level Module --> this module represent more business aspect rather than technical aspect. It can be refered as an abstraction rather than implementation, and usually achieved through interfaces.
Some example maybe: RegisterAccount
, PostAnswer
, PostQuestion
, AddComment
, InsertComment
.
Since Low Level Module represent more technical aspect rather than the business aspect. Say for example we take the InsertComment
HLM. The LLM should be:
- Open database connection
- Execute insert statement
- Close database connection
A High Level Module can be a Low Level Module in another context. Taking another example, AddComment
's LLM should be:
- Validate the comment (e.g. 15 char min) --> this will be another HLM
- Insert comment to database --> this will be another HLM (
InsertComment
)
- Add notification to involved user --> this will be another HLM
The same apply for other HLM as well.