What does “monolithic” mean?

前端 未结 6 2294
抹茶落季
抹茶落季 2021-02-13 00:23

I\'ve seen it in the context of classes. I suspect it means that the class could use being broken down into logical subunits, but I can\'t find a good definition. Could you give

6条回答
  •  孤独总比滥情好
    2021-02-13 01:20

    "Monolithic" is a term that has been used to flame succesful software. This link exposes the assumptions inherent in the term, and their limited usefulness.

    The basic assumption is that a system works better if it is built from software components that each have an individual, well-defined task. Intuitively, this seems right. If each component works, the entire system must work, right?

    In reality, it's not that easy. A larger, compositional (non-monolithic) system can miss a critical function, even when there is no single component to blame. This happens when the architectural design fails to allocate a function to any specific component. This can happen especially if it's a function which doesn't map cleanly to a single component.

    Now Linux (to continue with the linked example) in reality is not monolithic. It has a modular userspace on top of a monolithic kernel, a userspace that comes with many separate utilities. Except when it doesn't.

提交回复
热议问题