CB-Cells vs Modules
CB-Cells and Modules look similar visually but they are different.
This is a compare and contrast.
Within SavageGardens you will not see them side by side. Modules are a sub-level 1 construct where as CB-Cells are a sub-level 2 construct.
Modules are designed to be reusable and interchangeable. Modules are considered loosely coupled. Where as CB-Cells are not. On the contrary CB-Cells are thought to be unique and inter-dependent. CB-Cells are considered tightly coupled.
Both CB-Cells and Modules have end-points but they work differently. They would not be compatible with each other. CB-Cells represent flow of logic. Work flow comes in from one end-point and comes out thru another. The end-points within Modules work in request respond form. Like a function call. The work flow echoes back to the caller.
The mesh of CB-Cells working together represent an algorithm. Not quite so with Modules. Modules are inter-linked to work in an event driven fashion.
Both CB-Cells and Modules encapsulate code but they do abstraction differently. A module represents a series of related services. A CB-Cell represents a single consolidated objective.
CB-Maps can be nested. CB-Maps inside CB-Maps inside CB-Maps and so on. This is possible because a CB-Cell can represent a CB-Map. A mesh of CB-Cells represent an algorithm and the nesting represents breaking down a task into smaller tasks. Modules do not work this way and hence are not nested in this fashion.
🤔 as a note: The idea of having nested modules is intriguing and possible. Never seen it done. It does deserve to be looked into. Its something that may happen in the future when systems become highly complex. Not something that is practical right now.












