====== Artificial Coupling ====== ===== Meaning 1 ===== ==== Alternative Terms ==== /*i.e. alternative names meaning the same thing*/ ==== Definition ==== An **artificial coupling** is a coupling which is only there for technical reasons. ==== Description ==== ==== Examples ==== 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'' * ... ==== Alternative Definitions ==== /*i.e. slightly different definitions for basically the same thing*/ ==== See Also ==== * [[Natural Coupling]] * [[Artificial Class]] ==== Further Reading ==== ---- ===== Other Meanings ===== /*i.e. the same term referring to something different; put short mentions here or better add more detailed descriptions as additional sections */ ---- ===== Discussion ===== Discuss this wiki article and the term on the corresponding [[talk:glossary:Artificial Coupling|talk page]].