Skip to main content
added 24 characters in body
Source Link

In my opinion necessity of Input Boundary abstraction depends on Stability metric of component, mentioned earlier in this book.

Stability metric explanation from the book

• Fan-in: Incoming dependencies. This metric identifies the number of classes outside this component that depend on classes within the component.
• Fan-out: Outgoing depenencies. This metric identifies the number of classes inside this component that depend on classes outside the component.
• I: Instability: I = Fan-out / (Fan-in + Fan-out). This metric has the range [0, 1]. I = 0 indicates a maximally stable component. I = 1 indicates a maximally unstable component.

Also definition of The Stable Abstractions Principle(SAP) will be useful in context of the question:

A component should be as abstract as it is stable.

Answer to the question using following explanations:
The harder component to change
=> The more dependent classes from different components it has (the more it's stable)
=> the more abstract it should be
=> the more Input Boundary abstraction necessity

In my opinion necessity of Input Boundary depends on Stability metric of component, mentioned earlier in this book.

Stability metric explanation from the book

• Fan-in: Incoming dependencies. This metric identifies the number of classes outside this component that depend on classes within the component.
• Fan-out: Outgoing depenencies. This metric identifies the number of classes inside this component that depend on classes outside the component.
• I: Instability: I = Fan-out / (Fan-in + Fan-out). This metric has the range [0, 1]. I = 0 indicates a maximally stable component. I = 1 indicates a maximally unstable component.

Also definition of The Stable Abstractions Principle(SAP) will be useful in context of the question:

A component should be as abstract as it is stable.

Answer to the question using following explanations:
The harder component to change
=> The more dependent classes from different components it has (the more it's stable)
=> the more abstract it should be
=> the more Input Boundary necessity

In my opinion necessity of Input Boundary abstraction depends on Stability metric of component, mentioned earlier in this book.

Stability metric explanation from the book

• Fan-in: Incoming dependencies. This metric identifies the number of classes outside this component that depend on classes within the component.
• Fan-out: Outgoing depenencies. This metric identifies the number of classes inside this component that depend on classes outside the component.
• I: Instability: I = Fan-out / (Fan-in + Fan-out). This metric has the range [0, 1]. I = 0 indicates a maximally stable component. I = 1 indicates a maximally unstable component.

Also definition of The Stable Abstractions Principle(SAP) will be useful in context of the question:

A component should be as abstract as it is stable.

Answer to the question using following explanations:
The harder component to change
=> The more dependent classes from different components it has (the more it's stable)
=> the more abstract it should be
=> the more Input Boundary abstraction necessity

Source Link

In my opinion necessity of Input Boundary depends on Stability metric of component, mentioned earlier in this book.

Stability metric explanation from the book

• Fan-in: Incoming dependencies. This metric identifies the number of classes outside this component that depend on classes within the component.
• Fan-out: Outgoing depenencies. This metric identifies the number of classes inside this component that depend on classes outside the component.
• I: Instability: I = Fan-out / (Fan-in + Fan-out). This metric has the range [0, 1]. I = 0 indicates a maximally stable component. I = 1 indicates a maximally unstable component.

Also definition of The Stable Abstractions Principle(SAP) will be useful in context of the question:

A component should be as abstract as it is stable.

Answer to the question using following explanations:
The harder component to change
=> The more dependent classes from different components it has (the more it's stable)
=> the more abstract it should be
=> the more Input Boundary necessity