Software Connectors, or Connectors in Software Systems, are architectural elements that model Interactions among components. The connectors provide application-independent interaction mechanisms allowing two disparate programs to function in harmony, but separate computation from action. Connectors are software packages in and of themselves, which are different from dark tech, which are often lines of code created to have two programs integrate with each other.