An artificial coupling is a coupling which is only there for technical reasons.
The following couplings are natural ones:
Library
depending on Book
Stopwatch
depending on Time
Order
depending on OrderItem
OrderProxy
depending on Order
The following couplings are artificial:
Time
depending on Stopwatch
(time should be meaningful without a stopwatch)OrderItem
depending on Order
(an order item way at least be viewed separately from the order whereas an order without any items is not an order anymore)Order
depending on DatabaseConnection
(an order which is not persisted is normally still an order, the dependency is not necessary from a conceptual point of view)Order
depending on OrderProxy
Discuss this wiki article and the term on the corresponding talk page.